私は1対多の関係を持つ2つのCoreData実体がある -関連するプロパティによってフェッチリクエストを並べ替えるにはどうすればいいですか?
連絡先が複数の電話番号を持つことができ、私はPhoneNumbers
プロパティでContacts
をソートする必要がある、と私はソートしたいContact
(メイン)とPhoneNumber
(関連します)それ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
がregistered = true
とPhoneNumber
あり、私は結果のトップ
マイソート記述子:私は(データモデルの関係など)phoneNumbers
キーを指定すると、私は、でも、引数の型であればunsupported NSSortDescriptor selector: registeredCompare:
にエラー変更を別のキーに変更すると
[NSSortDescriptor sortDescriptorWithKey:@"phoneNumbers" ascending:YES selector:@selector(registeredCompare:)];
、私はエラーTerminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not allowed here'
を受け取ります正しいです
関連するプロパティでデータを並べ替えるにはどうすればよいですか?
コンパレータ(NSSortDescriptor sortDescriptorWithKey:ascending:comparator:
)はNSFetchRequest
によってサポートされていない配列にすべての値を取得し、それが解決策ではありません並べ替える - あまりにも多くの連絡先はあなたが対多の関係でソートすることはできませんアプリケーション