2016-03-30 85 views
1

我有一個具有對象類型列的類,例如,將字典對象與Parse.com中的數組進行比較 - iOS

  COLUMN 1 
Row 1 : {"gender":"male","name":"A"} 
Row 2 : {"gender":"female","name":"B"} 
Row 3 : {"gender":"male","name":"C"} 

我需要得到其對象爲重點name,在COLUMN1行,符合我陣列["A","B"]

因此5案的內容,查詢應返回行1和第2行。

我知道這個方法,但它與解析string列比較陣列,據我所知: [query whereKey:@"name" containsAllObjectsInArray:selectedParticipants];

如何用文辭我的數組比較ary列?

+0

爲什麼不只是用字典中的值創建一個數組並將該數組放入查詢中?我知道Swift的作品,即使你這樣做,它不會「創造」一個實際的副本,但它的指針,所以它是非常快,即使有10萬行... –

回答

1

parse.com集合中對象類型的一個缺點是隻能查詢完全匹配。在當前模型下執行此操作的唯一方法是使用其他列對查詢進行限定,以找回可能與對象標準匹配的最小集合,然後在客戶端執行對象匹配。

如果集合有很多的文件,並且希望這個跑得快,更好的選擇是調整的數據模型,從而在嵌入式對象可查詢的特性是它們自己的列...

 name (string) gender (string) otherStuff (object) 
row0 "A"   "male"   { /* stuff we don't query on */ } 
row1 "B"   "female"  { ... } 
... 

因此,您可以使用[query whereKey:@"name" containedIn:@[@"A", @"B"]]來限定查詢。注意這不是containsAllObjectsInArray,它是如何測試數組屬性。

+0

謝謝。我有這個想法。你確認了它。 – hyd00

相關問題