ObjC: BAD ACCESS when call blocks ^{} in later functions?
问题 Following this discussion, I've encountered a bad access issue; A loop has several steps: a, b, c, ... x, y, z: -(void)cycle:(float)delta{ [self stepA] [self stepB] // etc. [self stepZ] } At some point, step x does the following: // IRQ is an NSMutableArray // Self is a reference to the engine running the cycles [IRQ addObject:^{ NSLog(@"hello! %@", self); } ]; Later, step z is to process all "delayed" calls: for (int i = 0; i < [IRQ count]; i++){ void (^delayedCall)(void) = [IRQ