【发布时间】:2014-04-29 07:49:32
【问题描述】:
初学者 ios AFNetworking 2.0 Qns:将 AFHTTPSessionManager 子类化为“MyAPIManager”之类的东西并将我所有的 API 调用(GET/POST/PUT 等)放在这个自定义管理器类中,我在使用响应时遇到问题在另一个类(比如B类)中请求成功。
我知道我可以重构它并将 POST 调用部分提取到 B 类,以便我可以在回调中转储相关的 B 类方法,但这会变得混乱,尤其是在多个 API 调用的情况下。
我想将此响应(例如返回的 objectId)传递给另一个类,现在我只使用 B 类监听的 NSNotification,但这仍然感觉有点“hackish”,我想知道是否有更好的方法。
目前在 MyAPIManager 中:AFHTTPSessionManager:
- (void) POSTRecordJson:(NSDictionary *)json
{
[self POST:@"classes/Record/" parameters:json success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"Posted JSON: %@", json.description);
if ([responseObject isKindOfClass:[NSDictionary class]]) {
NSLog(@"Response: %@", responseObject);
//Notify objectId received
[[NSNotificationCenter defaultCenter]
postNotificationName:@"ReceivedObjectIdNotification"
object:self
userInfo:responseObject];
}
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"Error: %@", error);
}];
}
我在 B 类中调用了:
MyApiManager *manager = [MyApiManager sharedInstance];
[manager POSTRecordJson:someJSONdict];
【问题讨论】:
标签: ios afnetworking-2