AFnetworkingのよくある質問
1428 ワード
くだらないことはあまり言わないで、直接問題に行きます:1.リクエストヘッダをどのように接続しますか?
2.呼び出した同じメソッドでパラメータを返すにはどうすればいいですか?
block、パラメータはblockを持って実現します
// json
manager.responseSerializer = [AFJSONResponseSerializer serializer];
// json
manager.requestSerializer=[AFJSONRequestSerializer serializer];
// / text/html
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:value forHTTPHeaderField:key];
[manager.requestSerializer setValue: value forHTTPHeaderField:key];
[manager.requestSerializer setValue: value forHTTPHeaderField:key];
2.呼び出した同じメソッドでパラメータを返すにはどうすればいいですか?
block、パラメータはblockを持って実現します
__block NSString *longitude; // __block,
[self.manager POST:URL parameters:params success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
NSDictionary *locDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
longitude = [locDictionary objectForKey:@"lon"]; //
if (finishBlock)
{
finishBlock(longitude, nil);
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
NSLog(@"%@", error);
if (finishBlock)
{
finishBlock(nil, error);
}
}];