私は今かなりの間、次の問題を抱えています: 私はNSManagedObjectサブクラスオブジェクトを含む2つのNSArraysを持っています。 それらは異なるソースから供給されますが、それらのオブジェクトは同じプロパティ/値を持っています。 ここでは、配列Aに配列Bのオブジェクトが含まれているかどうかをチェックします。 残念ながらNSArrayのcontainsObject-methodはここでは動作しません。 私はそれが各オブジェクトの等価チェックのためのIDテストを使用すると思いますか?お互いのオブジェクト(NSManagedObject)を含むための2つのNSArraysを確認してください
誰かが手掛かりを持っていますか?
NSSetsで私のオブジェクトをカプセル化しようとしても、私の比較方法としてmember:を使用しましたが、これはうまくいきませんでした。特にNSManagedObjectサブクラスのisEqualなどをオーバーライドしないでください。ここで
は、コードスニペットです:任意のヒントを事前に
//manufacturers is an array, parsed out of some xml here...
for(Manufacturer *manu in [fetchedResultsController fetchedObjects])
{
if(![manufacturers containsObject:manu])
{
NSLog(@"Deleting %@", manu.name);
[self.mContext deleteObject:manu];
}
}
for(Manufacturer *manu in manufacturers)
{
if(![[fetchedResultsController fetchedObjects] containsObject:manu])
{
NSLog(@"Adding %@", manu.name);
[newArray addObject:manu];
}
}
感謝;)
これらの配列にオブジェクトが複数含まれていると、これは非常に高価で遅くなります。 –