Я начинающий программист, работающий над «Полным руководством для идиота по разработке приложений для iPad и iPhone» Троя Бранта (моя проблема в главе 14, приложение «Frenemy»). На момент публикации Xcode 4.2 не существовало. Этот факт и тот факт, что книга перегружена опечатками, сделали этот опыт обучения разочаровывающим, но ценным. Увы, я столкнулся с проблемой, которую, похоже, не могу решить. Я создал табличное представление и наполнил его именами пользователей в твиттере. Я проследовал книгу до письма и даже скачал «готовый» исходный код автора. Во время выполнения все, что происходит, это мой вид таблицы и отображение панели навигации, но таблица полностью пуста. Когда я запускаю его «готовый» исходный код, происходит то же самое. Мой вопрос: есть ли конкретный метод, который я должен вызывать (например, updateInterface, например), чтобы отобразить данные, которые я велел таблице собрать, или если ...
-(void)viewDidLoad
{
[super viewDidLoad];
self.title = @"Frenemies";
frenemiesTableView.dataSource = self;
frenemiesTableView.delegate = self;
}
... метод достаточно? Кроме того, если я должен вызывать относительный updateInterface, как мне определить этот метод? Я пользуюсь этим сайтом всю неделю и, наконец, решил зарегистрироваться и задать свой первый вопрос, потому что вы, ребята, до сих пор помогли мне найти отличные ответы. Я очень ценю любые советы.
в моем классе FrenemiesViewController.m следующее:
-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
//following line tells the table to create as many rows as rootUser has frenemies
return [rootUser.frenemies count];
}
//give the table view the cell to display for a single row
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//REUSE CELLS FOR BEST SCROLLING PERFORMANCE
static NSString *cellId = @"cellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (!cell)
{
//create a cell only if one couldn't be reused
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
}
//DISPLAY FRENEMY'S NAME INSIDE THE CELL
NSDictionary *frenemyDict = [rootUser.frenemies objectAtIndex:indexPath.row];
cell.textLabel.text = [frenemyDict objectForKey:@"name"];
return cell;
}