2012-11-27 90 views
0

我試圖使用NSPredicate從數組中過濾數據。 我陣列(arrLikes)包含以下來自服務器的數據NSPredicate不會在iOS 5中過濾長數據的數據

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

我想過濾來自陣列的數據,如低於

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

即使我的loggedInUserId是1,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