I don't have the whole picture of your problem. However you are calling [self getContactList]
into a async block. So, while [self getContactList]
is executing the next line outside the block will be called. That means:
informationList = [StorageManager getInfoForContact:[sections objectAtIndex:1]];
is executed before:
sections = [self getContactList];
Probably your error is there.
Try:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
sections = [self getContactList];
dispatch_sync(dispatch_get_main_queue(), ^{
informationList = [StorageManager getInfoForContact:[sections objectAtIndex:1]];
});
});