0

ブロックを使用しているときに奇妙なエラーが発生しました。

オプション 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

その後、接続が確立されたときに呼び出されます。

何が原因でしょうか?

4

0 に答える 0