У меня есть UIViewController с одним UITableView в нем. В представлении таблицы есть список избранных, которые могут быть изменены другими частями приложения. Я использую NSNotificationCenter, чтобы вызвать метод reloadData таблицы. Вид таблица выход объявляется следующим образом:reloadData not triggering cellForRowAtIndexPath
@property (strong,nonatomic) IBOutlet UITableView *faveTableView;
и синтезировали следующим образом:
@synthesize faveTableView;
Делегат и DataSource свойства представления таблицы устанавливаются в viewDidLoad контроллера представления следующим образом:
[self.faveTableView setDataSource:self];
[self.faveTableView setDelegate:self];
NSNotificationCenter вызывает следующий метод пожара:
-(void)reloadNotificationReceived{
[self loadData];
[self.faveTableView reloadData];
}
loadData обновляет источник данных, который является NSMutableArray управляемых объектов и работает должным образом.
При загрузке контроллера вида cellForRowAtIndexPath запускается, как и должно быть. Однако, когда уведомление получено, перезагружаетсяNotificationReceived, и два из методов делегирования представления таблицы (numberOfRowsInSection и numberOfSectionsInTableView) запускаются. Однако cellForRowAtIndexPath НЕ запускается. numberOfRowsInSection Возвращает правильное количество элементов.
Может ли кто-нибудь предложить причину, по которой cellForRowAtIndexPath не уволен здесь? Благодаря!
Возможно, 'numberOfSectionsInTableView:' возвращает один, а 'numberOfRowsInSection:' возвращает ноль? – dasblinkenlight
Вы уверены, что numberOfRowsInSection возвращает число больше 0? –
Какое количество строк вы возвращаете? – Jeremy