我在学习积木时被卡住了。
我有一个函数返回一个 NSString* myString。在块中我必须写入字符串,所以在定义它时我在它前面添加了 __block 。
它在块中看起来一切都很好——我能够写信给它。但是当返回它时,它显示错误:使用未声明的标识符'myString'。
我认为这是因为在块之后没有人强烈指向 myString 。正确的?但我能做些什么来修复它?
- (NSString *)fetchString{
__block NSString *myString;
SLRequest *aRequest = [....];
[aRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSArray *myArray=[NSArray array];
myArray= [NSJSONSerialization JSONObjectWithData:responseData options:0 error:nil];
myString = [myArray objectAtIndex:0];
}];
return myString;
}