如何在块范围内设置一个对象,并且在块的范围内设置一个对象?
我的代码目前是这样的,但是当我打电话给NSLog(@"%d", [self publicFeed] count])
时它不起作用。
- (NSArray *) publicFeed {
__block NSArray *returns = nil;
[[APIRequester sharedRequester] getPublicFeedCompletion:^(NSArray *array) {
returns = array;
} fail:^(NSError *error) {
}];
return returns;
}
答案 0 :(得分:3)
这是问题所在。这些块按照您的预期调用,但这就是:
returns
声明为数组。-[APIRequester getPublicFeedCompletion:fail:]
。returns
(nil
)
〜〜〜〜〜returns
设置为array
。您必须以某种方式更改代码,以确保在方法返回之前设置returns
。