Nic*_*ard 3 cocoa-touch objective-c ios objective-c-blocks
我想NSData
在我的块中设置一个对象的值.有人能让我知道我在这里做错了什么吗?
// Data
__block NSData *data = nil;
[ZSURLConnection performRequestWithUrl:wsdlURL xmlString:xml completionHandler:^(NSData *response, NSError *error) {
// Handle the error
if (error) {
NSLog(@"Error: %@", [error localizedDescription]);
} else {
data = response;
}//end
}];//end block
if (data) {
NSString *d = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease];
NSLog(@"DATA --- %@", d);
}
return data;
Run Code Online (Sandbox Code Playgroud)
为什么我不能将响应分配给data
我的块之外然后检索它?
因为块在您的方法的其余部分后异步运行.重写您的调用代码以使用异步加载,或者找到一种同步执行块工作的方法.我不知道是什么ZSURLConnection
,但检查它是否有一个版本的"执行..."方法不在后台运行.
归档时间: |
|
查看次数: |
1827 次 |
最近记录: |