ユーザー情報を表示したい。AFNetworking AFHttpClient とブロックでそれをやろうとしています。これは私のコードです。私に何ができるか知っていますか?他のビューでtableViewを満たすためにこれを行いますが、機能します。しかし、ここでは、ユーザー名を持つ単純な UILabel を表示できません
#import "YPProfileViewController.h"
#import "YPNetworkManager.h"
#import "Developer+Helper.h"
@interface YPProfileViewController (){
SelectionSuccessBlock2 successBlock;
}
@end
@implementation YPProfileViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UILabel *userNameLbl = [[UILabel alloc]initWithFrame:CGRectMake(40, 40, 100, 20)];
NSString *userNameStr = [NSString stringWithFormat:@"Name "];
[userNameLbl setText:userNameStr];
[self.view addSubview:userNameLbl];
[self loadUserInfoFromService];
}
ここではブロックを使用します
-(void)loadUserInfoFromService{
__weak typeof(self) weakSelf = self;
successBlock = ^(NSDictionary *newDev) {
NSLog(@"data ");
if (newDev){
[weakSelf showData:newDev];
}
};
[ypNetManager getUserInformation:successBlock error:NULL];
}
ここにラベルを表示します。
-(void)showData:(NSDictionary *) devInfo{
Developer *dev = [Developer createDevelopertWithDictionary:devInfo];
UILabel *userNameLbl = [[UILabel alloc]initWithFrame:CGRectMake(40, 40, 100, 20)];
NSString *userNameStr = [NSString stringWithFormat:@"Name : %@", dev.user_name];
[userNameLbl setText:userNameStr];
[self.view addSubview:userNameLbl];
}
@end
これは、AFNetworking AFHttpClient クライアントで使用するメソッドです。
-(void)getUserInformation:(SelectionSuccessBlock2)success error:(SelectionErrorBlock)error {
NSMutableURLRequest *request = [self requestWithMethod:@"GET" path:kAPIProjectList parameters:nil];
[request setTimeoutInterval:kTimeOutRequest];
AFJSONRequestOperation *requestOperation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"data");
NSLog(@"%@ Susscess JSNON Response: %@", NSStringFromSelector(_cmd),JSON);
NSDictionary *devInfo = [[NSDictionary alloc] init ];
devInfo = [JSON valueForKey:kTagUser];
NSLog(@"data %@", devInfo);
if (success) {
success(devInfo);
}
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *aError, id JSON) {
NSLog(@"%@ Failure JSNON Error%@", NSStringFromSelector(_cmd), aError);
if (error) {
error(aError);
}
}];
}