ブロックを使用しているときに奇妙なエラーが発生しました。
オプション 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
その後、接続が確立されたときに呼び出されます。
何が原因でしょうか?