我想做一個函數,我會調用來處理AFNetworking JSON解析。試圖做一個函數來處理AFNetworking
這裏是我的代碼:
- (int)startParseWithParameters:(NSDictionary*)incomingParameters andUrlAdress:(NSString*)urlAdress;
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
NSDictionary *parameters = incomingParameters;
[manager POST:urlAdress parameters:parameters success:^
(AFHTTPRequestOperation *operation, id responseObject)
{
NSString *recivedErr = responseObject[@"error"];
_errValue = [recivedErr intValue];
NSLog(@"JSON: %d", _errValue);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
return _errValue;
}
我希望函數返回0或1,那麼我就會知道,如果有錯誤或沒有。 現在它總是返回0.
當我嘗試返回成功塊時,出現編譯器錯誤。
什麼可能導致此問題?
這是因爲成功的塊被執行異步。 – rckoenes
所以我應該返回int? – OshriALM
不,你應該從該塊中調用一個方法,而不是依靠返回方法。因爲你的函數將在調用成功塊之前退出(並返回)。 – rckoenes