【发布时间】:2016-01-13 10:47:57
【问题描述】:
我在Objective c中有以下方法:
- (BOOL) authorize {
OauthObject* oauthObj = [OauthObject sharedManager];
[[Manager sharedManagerServerRequest] authorize:(oauthObj) and:login.text withPassword:password.text completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"%@", error);
if(error == NULL && data != nil) {
self.requestSuccessfull = YES;
} else {
//NSLog(@"Error: %@", error);
// Display error
}
}];
return self.requestSuccessfull;
}
在这个函数内部有一个方法authorize,它向服务器发出请求并以块的形式返回数据。
问题是 - (BOOL) authorize 返回更快 return self.requestSuccessfull 并且它总是 FALSE。
【问题讨论】:
-
您缺少一些关于使用块进行异步开发的基础知识。你不能让调度队列返回,它有自己的范围。 @Abamazi
标签: objective-c ios7 xcode7