TableView на вкладке приложения? Приложение падает - PullRequest
0 голосов
/ 12 марта 2010

Шаги для воспроизведения:
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, свяжите выходы с владельцем файла и добавьте этот фрагмент кода, и все это будет прекрасно работать. Что я делаю неправильно ? Почему происходит сбой приложения?

1 Ответ

0 голосов
/ 30 мая 2010

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

...