Учитывая код, который вы показали нам, есть только несколько возможностей.Либо self.tweetsTable
равно nil
, tweets
равно nil
, либо tweets
не содержит элементов, и count возвращает ноль.Теперь я знаю, вы говорите, что все правильно, но явно что-то не так!Вы можете добавить немного защитного кода для обнаружения этих проблем.
-(void)viewDidLoad
{
tweets=[[NSMutableArray alloc]init];
[self updateStream:nil];
NSAssert(self.tweetsTable, @"self.tweetsTable must not be nil.");
[self.tweetsTable setDelegate:self];
[self.tweetsTable setDataSource:self];
}
-(NSInteger)tableView:(UITableView *)tweetsTable numberOfRowsInSection:(NSInteger)section {
NSAssert(tweets, @"tweets must not be nil here");
NSUInteger n = [tweets count];
if(n == 0)
NSLog(@"WARNING: %@ returning 0", __PRETTY_FUNCTION__);
return (NSInteger)n;
}
Если вы сделаете это и один из срабатываний подтверждения, вы будете знать, где ваша проблема.Если никакие утверждения не запускаются, то что-то происходит вне области кода, который вы показали (например, что-то скоро выпущено для геттера, или память забита).Да, и последнее: вы видите пустое табличное представление на экране?Если ваша таблица не видна, AFAIK cellForRowAtIndexPath
не будет вызван.