如何在方法 incrementCount:completion
中传递一个 block ,以及它会是什么样子,以获取在增量后返回的属性 self.count
计数器类?我不确定我在方法中定义 block 参数 (void(^)(void))callback;
的方式是否正确,即它是否也应该有返回值?
View Controller
[NSTimer scheduledTimerWithTimeInterval:3.0
target:self.counterClass
selector:@selector(incrementCount:completion:)
userInfo:nil
repeats:YES];
计数器类
-(void)incrementCount:(NSTimer *)timer completion:(void(^)(void))callback;
{
self.count += 1;
}
最佳答案
NSTimer
期望调用一个带有零个或一个参数的方法,如果有参数,它应该是计时器实例本身。
因此,您不能拥有一个具有 2 个参数的方法,其中一个参数是一个 block 。
相反,删除第二个参数并简单地调用方法实现中的另一个方法或 block 。该 block 可以存储为类的@property。
关于objective-c - 在 @selector() 中传递一个 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312583/