今天在做一个简单测试,http post,httpPOST返回后的json是code=20000,一开始直接使用int类型强转 ,发现有问题,打印出来的结果始终不对,后来调试发现原来int类型值其实转成了NSNumber,同时也发现如果 MBProgressHUD使用时的一个注意点,就是纯text模式下,text一定要是NSString,如果是其他类型程序就崩溃了
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]init];
NSMutableDictionary *params = [[NSMutableDictionary alloc]init];
[params setObject:_nameTF forKey:@"account"];
[params setObject:_nameTF forKey:@"password"];
[params setObject:_nameTF forKey:@"nickname"];
[manager POST:REGURL parameters:params success: ^(AFHTTPRequestOperation *operation, id responseObject) {
NSString *response = [NSString stringWithString:operation.responseString];
NSData *data = [[NSData alloc]initWithData:[response dataUsingEncoding:NSUTF8StringEncoding]];
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
NSLog(@"responseObject: %@", dic);
NSNumber *code = [dic valueForKey:@"code"];
NSLog(@"responseObject[CODE]:%ld", [code intValue]);
dispatch_async(dispatch_get_main_queue(), ^{
[MBProgressHUDShow MBProgressHUDShowText:self.navigationController.view textA:[[NSString alloc]initWithFormat:@"code = %d", [code intValue]] yOffsetFromBottomA:100.0f holdTimeA:2];
});
}failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error: %@", error);
}];