我有一个实例方法,我想直接使用来自objective-c 中的块的回调参数调用。当我需要在回调中做的不仅仅是简单的 1 行时,我更喜欢这种方法。
这是基本设置...
我用某种类型的回调初始化一个类,这样我就可以在 http 请求之后解析 json 让我们说
- (void)initFooAndDoStuff {
Foo *foo = [[Foo alloc] initWithCallback:^(NSData * response){
// do stuff
}];
}
//this is the instance method I'd like to invoke instead of an inline function
- (void)callBackWithHttpResponse:(NSData *)response {
// do stuff ... assuming it's more complex than a 1 liner that is
}
我可以设置一个内联的回调(但更复杂的东西在独立的实例方法中可能会更好)
Foo *foo = [[Foo alloc] initWithCallback:^(NSData * response){
NSLog(@"foo");
}];
我可以使用下面的实例方法,但感觉有点啰嗦。我可以通过任何方式减少它(即语法)。
Foo *foo = [[Foo alloc] initWithCallback:^(NSData * response){
[self callBackWithHttpResponse:response];
}];