2014-12-03 2 views
0

다른 블록 내부에서 중첩 된 블록을 수행하려고합니다. 비동기식 요청이 이전 버전의 iOS와 달리 iOS8에서 많은 시간을 소모하는 것으로 보입니다. 여기 내 구문 분석 코드는 다음과 같습니다 나는 getDataInBackgroundWithBlock 블록에서 얻을 수없는 이유은 iOS8에서 중첩 된 블록을 시작할 수 없습니다.

- (void)getRemoteImageAndSaveLocalWithObjectId:(NSString *)objectId andType:(NSString *)type{ 
    if ([type isEqualToString:@"user"]) { 
     PFQuery *query = [GAUser query]; 
     //[query includeKey:@"userImage"]; 
     [query getObjectInBackgroundWithId:objectId block:^(PFObject *object, NSError *error) { 
      GAUser *gaUser = (GAUser *)object; 
      PFFile *userImageFile = gaUser[@"@userImage"]; 

      [userImageFile getDataInBackgroundWithBlock:^(NSData *data, NSError *error) { 

       // I am never able to get inside this block of code. 
       NSLog(@"in get data"); 
       if (!error) { 

        NSLog(@"remote image name: %@",data.debugDescription); 

        UIImage *image = [UIImage imageWithData:data]; 


       }else{ 

        NSLog(@"there was an error"); 
       } 
      }]; 


     }]; 
    } 

} 

사람이 알고 있나요?

+2

'userImageFile'는 nil입니까? – Darren

+1

PILile이 아닌지 여부 – Andy

답변

0

대런과 앤디는 옳았습니다 (그들은 아마도 형제입니다).

userImageFile이 아니기 때문에 문제가 발생했습니다.