2012-11-27 3 views
0

NSPredicate를 사용하여 배열에서 데이터를 필터링하려고합니다. 내 배열 (arrLikes는) 내 loggedInUserId가 1 인 경우에도 NSPredicate는 iOS 5에서 long 값의 데이터를 필터링하지 않습니다.

long loggedInUserId = [[dictUserInfo objectForKey:@"id"] longValue]; 
NSPredicate *likePredicate = [NSPredicate predicateWithFormat:@"id == %ld", loggedInUserId ]; 
NSArray *filteredLikeArray = [arrLikes filteredArrayUsingPredicate:likePredicate]; 

아래처럼 배열에서 데이터를 필터링하는 것을 시도하고있다

{ 
    "id":17, 
    "likes":[ 
     { 
     "likedBy": 
      { 
      "firstName":"Bob", 
      "lastName":"Builder", 
      "id":1 
      } 
     }], 
    "comments":[] 
} 

이 filteredLikeArray이 retruns에게 0 을 계산 서버에서 데이터 다음에 포함 된 내용 위의 코드에서 잘못 되었습니까? 모든 종류의 도움을 주시면 감사하겠습니다. 감사.

답변

0

NSString으로 변환하는 방법을 다음과 같이 변경해 보셨습니까?

long loggedInUserId = 17; 
NSString *stringUserId = [NSString stringWithFormat:@"%ld", loggedInUserId]; 
NSPredicate *likePredicate = [NSPredicate predicateWithFormat:@"id == %@", stringUserId]; 
NSArray *filteredLikeArray = [arrLikes filteredArrayUsingPredicate:likePredicate]; 
+0

답장을 보내 주셔서 감사합니다. 하지만 여전히 작동하지 않습니다. – iOSAppDev

+0

"likes"배열 안에 "id"태그가 있습니다. "likes"배열의 항목을 필터링하려고합니까? –

+0

예 ... '좋아요'배열 내부의 항목을 필터링해야합니다. – iOSAppDev

관련 문제