【发布时间】:2014-04-25 12:34:26
【问题描述】:
假设我有这样的代码:
[ApiConnection getServerTimeWithBlock:^(BOOL gotTimeResponse){
if(gotTimeResponse)
{
//we're online, got the response from time endpoint
[ApiConnection registerNewCustomerWithBlock:^(NSString* val){
if(val)
{
NSLog(@"val: %@",val);
}
else
{
NSLog(@"no val");
}
}];
}
else
{
//we're offline
}
}];
NSLog(@"TEST");
为什么在整个第一个块执行完成之前执行最后一个 NSLog?
【问题讨论】:
-
看起来阅读有关块和异步编码的一般知识会对您有所帮助 - 这种结构非常有用
-
@SomaMan 绝对是的,这就是我正在做的。我的错误似乎是我认为该方法只有在完成处理程序执行后才会返回。
标签: objective-c asynchronous objective-c-blocks