2015-10-09 4 views
0

У меня есть массив, содержащий объекты типа Song, каждый объект содержит строковое значение с именем title.Удаление избыточности в массиве объектов

Мне нужно проверить, имеет ли этот массив объекты с тем же заголовком, если да, удалите избыточность объектов с тем же заголовком.

Как я могу это сделать?

Спасибо.

ответ

2

Предполагая, что isEqual: метода вашего класса песни рассматривает песни с таким же названием, как равные:

NSArray *nonUniqueList = ...; 
NSSet *uniqueSet = [NSSet setWithArray:nonUniqueList]; 
NSArray *uniqueList = [uniqueSet allObjects]; 

Edit: Согласно комментарию Alladinian в, если вам нужно, чтобы сохранить порядок первоначального списка, используйте NSOrderedSet ,

+0

Что касается части заказа, это действительно не так сложно. Вместо этого вы можете использовать 'NSOrderedSet'. – Alladinian

+0

Хорошая точка. Я никогда не использую NSOrderedSet, потому что он действительно не такой общий, как NSSet. Однако для этой конкретной проблемы это было бы прекрасно. – Avi

Смежные вопросы