我有兩個CoreData實體與一個一對多的關係 - Contact
(主)和PhoneNumber
(相關)如何對相關屬性的提取請求進行排序?
聯繫人可以有多個電話號碼,我需要通過PhoneNumbers
屬性進行排序Contacts
,我要排序它通過在registered
物業現有true
值,例如:
Contact1 prop1 = "value1" prop2 = "value2" PhoneNumbers = [ {prop1 = "value1", prop2 = "value2", registered = false}, {prop1 = "value1", prop2 = "value2", registered = false} ] Contact2 prop1 = "value1" prop2 = "value2" PhoneNumbers = [ {prop1 = "value1", prop2 = "value2", registered = false}, {prop1 = "value1", prop2 = "value2", registered = false}, {prop1 = "value1", prop2 = "value2", registered = true} ] Contact3 prop1 = "value1" prop2 = "value2" PhoneNumbers = [ {prop1 = "value1", prop2 = "value2", registered = false}, {prop1 = "value1", prop2 = "value2", registered = false} ]
Contact2
具有PhoneNumber
與registered = true
,我想將它移動到取結果的頂部
我的排序描述符:
[NSSortDescriptor sortDescriptorWithKey:@"phoneNumbers" ascending:YES selector:@selector(registeredCompare:)];
當我指定phoneNumbers
鍵(如在數據模型的關係),我接收錯誤Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not allowed here'
當我改變鍵到另一個,誤差變化到unsupported NSSortDescriptor selector: registeredCompare:
即使參數類型是否正確
如何按相關屬性對數據進行排序?
比較(NSSortDescriptor sortDescriptorWithKey:ascending:comparator:
)不被NSFetchRequest
支持獲取所有值數組和排序是不是一個解決方案 - 太多的接觸可以凍結申請