5

doFirstここで保持サイクルが発生する可能性はありますか?

@interface Example : NSObject
@property (nonatomic, strong) void (^block)();
@end

@implementation Example

- (void)doFirst
{
    __weak id weakSelf = self;
    self.block = ^ {            
        [weakSelf doSecond];
    };

    self.block();
}

- (void)doSecond
{
    self.value = //...
    // do other stuff involving self
}
@end
4

2 に答える 2

0

いいえ、しません。オブジェクトのように参照するだけのメソッド内のどこにも保持されないメソッドを指しているだけだからです。

于 2014-02-20T13:36:22.520 に答える