Каркас неявно перезагружает табличное представление после того, как представление загрузило .
В этот момент closeByNeighbours
объявлено, но не инициализировано, поэтому оно nil
.
Блок завершения в viewGet
вызывается намного позже.
Решение, которого следует избегать nil
, состоит в инициализации массива в начале viedDidLoad
-(void)viewDidLoad {
[super viewDidLoad];
self.closeByNeighbours = [NSArray array];
...
И у вас естьперезагрузить табличное представление в главном потоке в обработчике завершения
...
self.closeByNeighbours = [self.neighbourData filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(province contains[c] %@)", myData]];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});