У меня есть простое приложение, в котором у меня есть табличное представление, и в зависимости от обратного вызова с массивом я перезагружаю данные таблицы, используя метод reloadData
. Изначально при первых 5-10 загрузках это табличное представление работает без проблем. Иногда поигравшись с приложением, я заметил, что представление таблицы пустое по той причине, что cellForRowAtIndexPath
не вызывается фреймворком. Я проверил, что источник данных
и делегат
настроен правильно, и numberOfRowsInSection
возвращает допустимое положительное число. Как только я вижу пустую таблицу, я могу видеть это пустое представление несколько раз, пока не выйду из приложения. Я не получаю никаких ошибок или предупреждений в консоли. Я попытался настроить массив, но безуспешно.
Вот код:
- (void)notifyArrayLoaded:(NSArray *)arr {
NSUInteger capacity = [arr count];
_tbDataArray = [[NSMutableArray alloc] initWithCapacity:capacity];
// _tbDataArray is filled with the data from arr
// Reload the table data
[_tableView reloadData];
}
Любая подсказка будет принята с благодарностью.
Заранее спасибо. Sumit
Hi DeanWombourne, I do not have viewDidUnLoad
method but I have viewWillDisAppear
method which I am posting it here.
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationPortrait;
[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO];
[self.navigationController setNavigationBarHidden:NO animated:NO];
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
UIView *view = [window.subviews objectAtIndex:0];
view.transform = CGAffineTransformIdentity;
view.transform = CGAffineTransformMakeRotation(0);
view.bounds = CGRectMake(0.0, 0.0, 320, 480);
}
This is the logs of tableView
as logged.
[numberOfSectionsInTableView:] [Line 223] <UITableView: 0xa5fc00; frame = (0 0; 320 0); clipsToBounds = YES; layer = <CALayer: 0x4830b0>; contentOffset: {0, 0}>
[tableView:numberOfRowsInSection:] [Line 229] <UITableView: 0xa5fc00; frame = (0 0; 320 0); clipsToBounds = YES; layer = <CALayer: 0x4830b0>; contentOffset: {0, 0}>
<UITableView: 0xa5fc00; frame = (0 0; 320 0); clipsToBounds = YES; layer = <CALayer: 0x4830b0>; contentOffset: {0, 0}>
[numberOfSectionsInTableView:] [Line 223] <UITableView: 0xa5fc00; frame = (0 0; 320 0); clipsToBounds = YES; layer = <CALayer: 0x4830b0>; contentOffset: {0, 0}>
[tableView:numberOfRowsInSection:] [Line 229] <UITableView: 0xa5fc00; frame = (0 0; 320 0); clipsToBounds = YES; layer = <CALayer: 0x4830b0>; contentOffset: {0, 0}>