Шаги для воспроизведения:
1. Создайте приложение панели вкладок под названием «TestApp»
2. Добавьте новый файл, подкласс UIViewController с пользовательским интерфейсом XIB с именем «Table»
3. Откройте файл MainWindows.xib, щелкните элемент панели вкладок «Вторая» и в «Инспекторе» измените имя NIB с «SecondView» на «Table». Сохраните и закройте.
4. Откройте Table.xib и перетащите TableView поверх представления. Теперь свяжите источник данных и делегируйте выходы TableView с владельцем файла Table.xib.
5. Добавьте следующий код в Table.m:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
NSLog(@"Returning num sections");
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSLog(@"Returning num rows");
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"Trying to return cell");
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
}
cell.text = @"Hello";
NSLog(@"Returning cell");
return cell;
}
6. Запустите приложение и выберите элемент панели «Вторая вкладка».
Если я начну с приложения на основе View, добавьте к нему TableView, свяжите выходы с владельцем файла и добавьте этот фрагмент кода, и все это будет прекрасно работать.
Что я делаю неправильно ? Почему происходит сбой приложения?