0

ユーザー情報を表示したい。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);
        }
    }];


}
4

1 に答える 1