Как я должен хранить коллекцию объектов и предоставлять конкретные методы для запроса к ним?

#objective-c #arrays #ios #collections

#objective-c #массивы #iOS #Коллекции

Вопрос:

Мне нужен совет о наилучшем способе достижения следующего:

  • Храните коллекцию объектов определенного типа по порядку
  • Пользовательские методы для поиска в коллекции
  • Другие пользовательские методы для возврата объектов из коллекции на основе некоторых правил
  • Нужны переменные экземпляра, чтобы отслеживать вещи в коллекции

Первоначально я думал о подклассификации класса NSMutableArray и добавлении дополнительных методов и переменных, которые я хочу, специфичных для объектов, которые я собираюсь хранить в массиве, но в документах Apple сказано, что это «нет, нет»!

Я знаю, что вы можете использовать Categories но они не поддерживают добавление переменных экземпляра, которые мне нужны для отслеживания элементов в коллекции.

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

Каков наилучший способ сделать это, идея состоит в том, чтобы иметь красивую оболочку вокруг NSMutableArray для запроса моих пользовательских объектов и манипулирования ими.

Ответ №1:

Создайте класс (наследуемый от NSObject ), который содержит NSMutableArray . Напишите свои собственные add: и remove... методы для добавления и удаления объектов из массива.

Комментарии:

1. Это то, о чем я подумал, просто хотел убедиться. Спасибо за вашу помощь!

Ответ №2:

Просто создайте класс с переменной экземпляра NSMutableArray. Храните свои объекты там. Реализуйте свои методы в этом классе.