我是在 iOS 中使用块的新手,我认为这可能是我问题的症结所在。
我只想构建一个简单的静态 DataManager 类,它的唯一工作是从我的 Restful 服务中获取数据。
我会从我所有的各种 UIViewControllers(或 collectionview/table 控制器)中调用它
在我的课堂上,我有一个看起来像这样的函数
+ (NSArray *) SearchByKeyword: (NSString*) keyword {
__block NSArray* searchResults = [[NSArray alloc] init];
NSString *baseURL = @"http://someURL.com/api/search";
NSString *requestURL = [baseURL stringByAppendingString:keyword];
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:baseURL]];
NSMutableURLRequest *request = [httpClient requestWithMethod:@"GET"
path:requestURL
parameters:nil];
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
searchResults = [JSON valueForKeyPath:@""];
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
NSLog(@"Request Failed with Error: %@, %@", error, error.userInfo);
}];
[operation start];
return searchResults;
}
但是,这会一直返回零数据。有人可以建议这样做的正确方法吗?