Селектор вызывается в numberOfRowsInSection, но не в cellForRowAtIndexPath - PullRequest
1 голос
/ 23 ноября 2010

У меня есть этот код для заполнения UITableView, и тот, который возвращает numberOfRowsInSection работает нормальноСелектор, использующий appDelegate в части cellForRowAtIndexPath, не вызывается.Что здесь не так?

   - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
 VIP_GeburtstagAppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
 [appDelegate getEntriesForDate:section];

 return appDelegate.namesForDay.count;

}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

    VIP_GeburtstagAppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];

 [appDelegate getEntriesForDate:indexPath.section];

Ответы [ 3 ]

6 голосов
/ 23 ноября 2010

Методы называются.Селекторы - это (более или менее) имена методов;они не называются.

Если -tableView:numberOfRowsInSection: возвращает 0, ячеек нет, поэтому он не вызывает -tableView:cellForRowAtIndexPath:.

1 голос
/ 23 ноября 2010

Возможно, эта часть таблицы еще не отображается, и UITableView загружается лениво.Если это так, прокрутите вверх, чтобы эти ячейки были видны, и ваш делегат должен быть вызван.

0 голосов
/ 23 ноября 2010

tableView: numberOfRowsInSection: возвращает 366 или подобное, поэтому tableView: cellForRowAtIndexPath: вызывается. Когда я обмениваю cell.textLabel.text на @ "John Doe", он работает просто отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...