2017-10-29 2 views
0

내 json 응답 "상태"에 따라 uibutton을 숨기고 싶습니다. 제발 날 정교 해주세요 (저는 초보 개발자입니다). 다음은 xcode 콘솔에서 json 응답을 얻는 방법입니다."상태"응답을 받고이를 전달하여 json 응답에 따라 단추를 숨기려면 어떻게해야합니까?

JSON: { 
customerstatus =  { 
    1 =   { 
     bookingid = 469; 
     status = 1; 
    }; 
}; 

다음 코드는 위의 응답을 얻는 것입니다.

-(void)SendtoGetMaterialStatus 
{ 
    PMDReachabilityWrapper *reachability = [PMDReachabilityWrapper sharedInstance]; 

    if ([reachability isNetworkAvailable]) 
    { NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 
     NSDictionary *savedValue = [[NSUserDefaults standardUserDefaults] objectForKey:@"service"]; 
     NSLog(@"Checkingfast%@", savedValue); 
     NSDictionary *temp = @{ 
           @"ent_sess_token":flStrForStr([ud objectForKey:iServeCheckUserSessionToken]), 
           @"ent_dev_id":flStrForStr([Utilities getDeviceId]), 
           @"customerid":savedValue 
           //send the customer id from userdefault 
           }; 

     NSMutableDictionary *params = [[NSMutableDictionary alloc]initWithDictionary:temp]; 
     NSLog(@"Checking User Default Customer ID%@",temp); 

     [[WebServiceHandler sharedInstance] sendRequestTypeGetReportMaterialStatus:params andDelegate:self]; 
     NSLog(@"Customer ID sent to Recieve the Material Status%@", params); 

    } 
    else 
    { 
     [[ProgressIndicator sharedInstance]hideProgressIndicator]; 
     [UIHelper showMessage:iServeNetworkErrormessage withTitle:LS(@"oops!")delegate:self]; 
     NSLog(@"customer ID didn't send!."); 
    } 

    // [self makePostRequest:RequestTypeGetReportMaterialStatus path:kRequestTypeGetReportMaterialStatus params:params delegate:delegate]; 
} 

나는 상태 = 2 또는 3이 달리 보이는 유지 버튼 숨기기 (상태 = 1)을 JSON에서 "상태"값을 가지고 만들고 싶어.

다음과 같은 방법으로 응답을 전달하고 있습니다. 제 코드에 따라 코드 스 니펫을주세요. 감사.

-(void)didFinishLoadingRequest:(RequestType)requestType withResponse:(id)response error:(NSError *)error 
{ 
    switch (errFlag) { 
    case 1: 
    { 
     [[ProgressIndicator sharedInstance]hideProgressIndicator]; 

     if (errNum == 7 || errNum == 6 || errNum == 78 || errNum == 83)//Session Expired 
     { 
      [[Logout sharedInstance] deleteUserSavedData:response[@"errMsg"]]; 
     } 
     else 
     { 
     [UIHelper showMessage:response[@"errMsg"] withTitle:LS(@"Message")delegate:self]; 
     } 
    } 
     break; 

    case 0: 

    { 
     if(requestType == RequestTypeGetReportMaterialStatus) 
     { 
      // Passing response and hiding the button 
      // ...........(help me!) 
     } 
    } 
} 
+0

json 형식으로 json을 제공 할 수 있습니까? 그리고 어떻게'didFinishLoadingRequest' 메소드 안에 버튼을 넣을 수 있습니까? 이 @trungduc – trungduc

+0

인 JSON 포맷 .. { "errFlag"0 "에 errmsg": "" "customerstatus"{ "1": { "상태": "1", "bookingid ":"518 " }, "2 ": { "상태 ":"2 ", "bookingid ":"559 "} } – Fido

+0

어떻게 버튼을 얻을 수 있나요? – trungduc

답변

0

아래 코드를 사용해보십시오.

NSArray* customerstatus = response[@"customerstatus"][@"1"]; 
NSInteger fisrtStatus = [customerstatus[0][@"status"] integerValue]; 
NSInteger secondStatus = [customerstatus[1][@"status"] integerValue]; 

if (fisrtStatus == 1) { 
    // Show your buttons 
} else { 
    // Hide your buttons 
} 

// Do what you want with secondStatus :) 
관련 문제