#ios #objective-c #xcode5 #nsarray
#iOS #objective-c #xcode5 #nsarray
Вопрос:
У меня есть NSArray с некоторыми объектами.
пример:
NSArray *objects = [NSArray arrayWithObjects:@"one",@"two",@"three",@"one",@"two",@"four",@"five",@"one",nil];
в приведенном выше массиве объект @"one"
произошел 3 раза.Если я создаю предикат или фильтрую этот объект. он должен отображаться только один раз со всеми оставшимися объектами в новом массиве.
ожидаемый результат:
(one , two, three, two, four, five).
Комментарии:
1. Пожалуйста, используйте правильный английский, а не «txt spk», задавая вопросы. Это упрощает задачу для всех.
Ответ №1:
Вероятно, самый простой способ сделать это — использовать NSSet
not NSArray
.
NSArray *objects = @[@"one",@"two",@"three",@"one",@"two",@"four",@"five",@"one"];
NSSet *uniqueObjectSet = [NSSet setWithArray:objects];
uniqueObjectSet
теперь будет содержать каждое уникальное значение только один раз.
Вы можете вернуться к массиву…
NSArray *uniqueObjectArray = [uniqueObjectSet allObjects];