Редактировать: лучший пример ...
Итак, у меня есть NSMutableSet "существующих" объектов, и я хотел бы загрузить данные JSON, проанализировать их и объединить эти новые объектыс моими существующими, обновляя любые дубликаты с недавно загруженными.Вот как выглядит существующий набор объектов:
NSArray *savedObjects = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:@"1", @"id", @"hello there", @"body", @"200", @"score", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"2", @"id", @"hey now", @"body", @"10", @"score", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"3", @"id", @"welcome!", @"body", @"123", @"score", nil],
nil
];
self.objects = [NSMutableSet setWithArray:savedObjects];
// after downloading and parsing JSON... I have an example array of objects like this:
NSArray *newObjects = [NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:@"1", @"id", @"hello there", @"body", @"9999", @"score", nil],
[NSDictionary dictionaryWithObjectsAndKeys:@"4", @"id", @"what's new", @"body", @"22", @"score", nil],
nil
];
Так, например, после объединения этого нового объекта объект с идентификатором 1 теперь будет иметь оценку 9999, а новый объект с идентификатором 4 будетдобавлен в набор.
Я действительно хочу избежать циклического перебора NSMutableSet для каждого нового объекта, просто чтобы убедиться, что свойство @ "id" существует ... Я думал, что мог бы использовать addObjectsFromArray для объединения этих новых объектовно похоже, поскольку свойства различаются (например, счет: 9999), новые объекты не рассматриваются как существующие объекты в наборе.
Я использую числа в качестве строк, чтобы упростить этот пример.Я также хотел бы избегать использования функций iOS SDK 4.0, поскольку приложение будет совместимо с 3.0.
Спасибо огромное!Я ценю это!