我有一个NSObject分类,可以在一定时间间隔后执行代码块。那么我需要在这种情况下使用weak self吗?
__weak ViewController *weakSelf = self;
[self runBlockAfterDelay:0.6 block:^{
weakSelf.someview = ...
}];
// Category
- (void)runBlockAfterDelay:(NSTimeInterval)delay block:(void (^)(void))block {
dispatch_async(dispatch_get_main_queue(), ^{
[self performSelector:@selector(executeBlockAfterDelay:) withObject:[block copy] afterDelay:delay];
});
}
- (void)executeBlockAfterDelay:(void(^)(void))block
{
if (block)
block();
}