Я совершенно новый для разработки iOS, и я не мог найти решение здесь или Google, поэтому я прошу отчаяния.iphone development: table view возвращает пустой стол
У меня есть класс «ViewController», который является подклассом UIViewController. Здесь, у меня есть:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([self.bookTitle.text length] > 0)
self.entries = [self.bookLibrary searchForBook:self.bookTitle.text];
if ([segue.identifier isEqualToString: @"BookList"]) {
TableViewController *controller = (TableViewController *)segue.destinationViewController;
controller.itemCounter = [self.entries count];
controller.bookLibrary = [self.entries allValues];
}
}
мнение об этом на раскадровке имеет подключение к таблице View Controller, что я перетащен на сетку. Я щелкнул «Контроллер табличного представления» внизу и установил свой пользовательский класс «TableViewController» в поле ввода пользовательского класса.
Теперь, исходя из того, что я понимаю, метод выше передает все данные должным образом в TableViewController.
Вот один из методов, которые я имею в TableViewController
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"BookCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
Book* book = [self.bookLibrary objectAtIndex:indexPath.row];
cell.textLabel.text = book.title;
NSLog(@"%@", book.title);
return cell;
}
Запись NSLog печатает из всех названий книг на консоли, так что я точно знаю, что данные были прошло. Однако, когда я запускаю программу и нажимаю кнопку, чтобы вытащить Table View, это просто пустая таблица. Любые намеки? Я могу загрузить весь проект. Был в этом несколько часов и немного расстроен. Пожалуйста, помогите :(
EDIT: Ответ, предложенный мной, я рассматриваю состояние своих переменных данных в методах таблицы. Это говорит о том, что их состояние не так, как я думаю, и что я должен использовать NSLog для печати своих значений. Я сделал именно это, и я вижу все распечатанные значения. Я не понимаю, что они имеют infact, имеют значения, назначенные им. Проблема не в том, что данные отсутствуют.
Обновлен ли столбец '- (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: (NSInteger) 'функция. С количеством отображаемых ячеек. – Marryat
Да, у меня есть. Я установил его для возврата 1. – user2154684
Кроме того, это может быть только опечатка, но вы сказали, что у вас есть класс ViewController, который является подклассом UIViewController. Однако, если вы собираетесь назначить этот класс UITableViewController, который вы вытащили, то он должен быть подклассом UITableViewController для соответствия. Если это не так, ваш класс не будет правильно подключен к UITableView. –