配列に項目を追加するときは、これについて心配する必要はありません。毎回一意のオブジェクトを追加している限り、オブジェクトのプロパティは重要ではありません。
これが心配で、二重に確実にしたい場合は、代わりに NSMutableSet を使用してください (各オブジェクトの順序を維持する必要がない場合)。
アップデート
述語を使用して、同じ値を持つオブジェクトが存在しないことを追加する前に確認できます。これは、NSMutableArray と NSMutableSet の両方でうまく機能します。
//create array
NSMutableArray *array = [[NSMutableArray alloc] init];
//create person
Person *newPerson = [[Person alloc] init];
//add person
[array addObject:newPerson]
//check new object exists
if([[array filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"personID == %@", [newPerson personID]]] count] == 0)
{
//add object
[array addObject:newPerson];
}
非常に大まかな擬似コードですが、要点を理解していただければ幸いです :)