Шаги для воспроизведения:
1. Создайте панель вкладок приложения под названием «TestApp»
2. Добавить новый файл, подкласс UIViewController с пользовательским интерфейсом XIB под названием «Таблица»
3. Открываем MainWindows. xib, щелкните элемент «Вторая вкладка», а в «Инспекторе» измените имя NIB с «SecondView» на «Таблица». Сохрани и закрой.
4. Откройте Table.xib и перетащите TableView поверх представления. Теперь свяжите dataSource и делегируйте выходы TableView с владельцем файла Table.xib.
5. Добавьте следующий код Table.m:TableView на панели вкладок? Применение разваливается
- (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.Run приложение и выберите второй пункт панели вкладок.
Если я начинаю с приложения на основе View, добавьте в него TableView, свяжите выходы с владельцем файла и добавьте этот фрагмент кода, все это работает отлично. Что я делаю неправильно? Почему приложение сбой?