传递自我时不会执行块

时间:2013-09-30 16:09:49

标签: ios objective-c block objective-c-blocks

当我使用块时,我有一个奇怪的错误。

选项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

以后在建立连接时调用。

是什么导致了这个?

0 个答案:

没有答案