我有一个块功能定义如下:
@property (atomic, assign) bool callInProgress;
//in implementation:
- (void)synchronize:(void(^)(void(^unlock)()))block {
if (!_callInProgress) {
_callInProgress = YES;
[_tableView setScrollEnabled:false];
block(^{
[_tableView setScrollEnabled:true];
_callInProgress = NO;
});
}
}
然后当我这样做时:
[self synchronize:^(void(^unlock)()) {
}];
我在[self synchronize..]
处设置了一个断点,无论如何,断点都会被击中两次!如果我添加一个正文:
/*break point on this line*/ [self synchronize:^(void(^unlock)()) {
NSLog(@"HERE");
unlock();
}];
HERE
打印ONCE但断点被击中两次!
任何想法为什么?
答案 0 :(得分:5)
当您到达同步调用时,断点被点击一次,而当您进入回调块时,断点被点击一次。两者都在同一条线上。