使用块时出现一个奇怪的错误。
选项 a 有效,选项 b 无效。当它不工作时,它甚至不执行 NSLog,这意味着它甚至不进入块。
块被传递给 ConnectionManager:
[[ConnectionManager sharedConnectionManager]connect:OnSuccess:^{
NSLog(@"check that it enters the block");
MylayerClass* myLayer = [[MyLayerClass alloc]init];
//a
[[BaseLayer instance] addChild:myLayer];
//b
[self addChild:myLayer];
[myLayer release];
}];
在 ConnectionManager 中,该块被设置为私有属性,如下所示:
@property (nonatomic, copy) void (^onConnectionSuccess)();
//...
@syntesize onConnectionSuccess;
//...
onConnectionSuccess = successBlock
后来在建立连接时被调用。
是什么原因造成的?