У меня есть следующий метод:
-(void)populateSpotVenueIndex
{
@synchronized(self.spotsResults) {
[self.pollVenueIndex removeAllObjects];
for (PFObject * poll in self.spotsResults)
{
NSString * venue = [((PFObject *)[poll objectForKey:@"parent"]) objectForKey:@"name"];
[self.pollVenueIndex setObject:venue forKey:[poll objectForKey:@"question"]];
dispatch_async(dispatch_get_main_queue(), ^{
[self.tableView reloadData];
});
}
}
}
, который дает мне:
*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x3ec0d0> was mutated while being enumerated.'
*** First throw call stack:
(0x328fc8bf 0x367661e5 0x328fc3e3 0x80eb 0x8787 0x371aed55 0x371ba7a3 0x36e221cf 0x36e220a4)
Как это вообще возможно?В основном, чего я хочу достичь, так это того, что если цикл все еще выполняется и вызывается этот populateSpotVenueIndex, я просто хотел отменить этот цикл .. Есть ли такой способ сделать это?