TableView в приложении панели вкладок? Приложение вылетает

Шаги по воспроизведению:
1. Создайте приложение панели вкладок под названием «TestApp»
2. Добавьте новый файл, подкласс UIViewController с пользовательским интерфейсом XIB под названием «Таблица»
3. Откройте MainWindows.xib, щелкните элемент второй панели вкладок и в Inspector измените имя 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. Запустите приложение и выберите пункт Вторая панель вкладок.

Если я начинаю с приложения на основе представления, добавляю к нему TableView, связываю выходы с владельцем файла и добавляю этот фрагмент кода, все работает нормально. Что я делаю неправильно ? Почему вылетает приложение?


person Andrei    schedule 11.03.2010    source источник


Ответы (1)


В Интерфейсном Разработчике после того, как вы обновили Имя NIB до Таблицы, щелкните вкладку «Идентичность» инспектора (последняя вкладка). Затем обновил идентификатор класса до «Таблица».

person Chris Gummer    schedule 29.05.2010