2014-02-06 86 views
0

我想寫一個查詢,當id等於1(此刻)獲取一行。查詢與移動服務Azure iOS

NSPredicate *predicate = [NSPredicate predicateWithFormat:[apt[@"id"] isEqualToNumber:1]]; 

那麼,id(從另一個數據庫)等於1。現在這種抱怨各種各樣的事情,但它說,它需要一個BOOL。 NSPredicate需要BOOL嗎?

不知道我明白了,還是有另一種方式可以查詢?我可以在Mobile Services SDK Azure for iOS中使用T-SQL嗎?

回答

0

帶格式的謂詞需要一個字符串,你用一個bool發送。 [apt[@"id"] isEqualToNumber:1]返回一個布爾值。

以這種方式使用謂詞(我沒有格式化謂詞的經驗,所以這可能實際上並不適用於複製和粘貼)。

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id == 1"]; 

如果您正在過濾的數組中的對象有一個名爲id的屬性,這將工作。

我理解一個更好的小東西就是帶有塊的謂詞。這也可以適用於你(我不完全確定你的數據結構,所以你需要修改以適應你的需求。)

NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id object, NSDictionary *bindings) { 
    return [object[@"id"] isEqualToNumber:1]; // Return YES for each object you want in filteredArray. 
}]