是否可以使用标准属性语法将块作为属性?
ARC有什么变化吗?
如果我声明一个这样的块^{ DoSomething; }并将其放在一个实例变量中,Block_copy()如果我要保留它,我是否需要?
可以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
Run Code Online (Sandbox Code Playgroud)