У меня есть простое приложение, в котором у меня есть представление таблицы и в зависимости от обратного вызова с массивом я перезагружаю данные таблицы, используя метод reloadData
. Первоначально для первых 5-10 раз загрузки это табличное представление работает без каких-либо проблем. После игры с приложением иногда я замечал, что табличное представление пустое из-за причины, по которой cellForRowAtIndexPath
не вызывается платформой. Я проверил, что datasource
& delegate
установлено правильно и 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
Привет, ДинВомбурн, у меня нет метода viewDidUnLoad
, но у меня есть метод viewWillDisAppear
, который я публикую здесь.
- (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);
}
Это журналы tableView
как зарегистрированные.
[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}>