Вопрос

Какая разница?

В моем контексте мне нужно иметь возможность динамически добавлять и удалять объекты. Пользователь нажимает на строки таблицы, которые включают и выключают проверку и, таким образом, добавляют или удаляют ссылочный объект из списка.

Неожиданное предположение, что в массиве есть индексированные элементы, а в наборе нет индексов?

Это было полезно?

Решение

NSSet / NSMutableSet не хранит элементы в каком-либо определенном порядке. NSArray / NSMutableArray сохраняет элементы в определенном порядке. Если вы создаете табличное представление, вам определенно следует использовать массив в качестве источника данных.

Другие советы

Кроме того, NSMutableSet гарантирует, что все объекты являются уникальными.

NSMutableArray хорошо сочетается с UITableView, поскольку элементы имеют индекс, поэтому вы можете вернуть [array count], чтобы получить количество строк таблицы, или [array objectAtIndex: rowNumber], чтобы легко связать элемент со строкой.

Кроме того, согласно документация , проверка на членство в объектах выполняется быстрее с помощью NSSets.

  

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

Ну, есть 3 основных различия. 1) Наборы неупорядочены 2) Не имеют индекса & amp; 3) Не может иметь повторяющихся значений, когда массивы упорядочены, проиндексированы и усилены; может хранить повторяющиеся значения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top