iOS. Приемы программирования
Шрифт:
Обсуждая множества и коллекции, следует упомянуть еще два важных класса, о которых вам необходимо знать:
NSOrderedSet — неизменяемое множество, учитывающее, в каком порядке в него добавлялись объекты;
• NSMutableOrderedSet — изменяемый вариант вышеупомянутого изменяемого множества.
По умолчанию множества не учитывают, в каком порядке объекты в них добавлялись. Рассмотрим пример:
Но на самом деле мы наполняли множество элементами в другом порядке. Если вы хотите сохранить правильный порядок, просто воспользуйтесь классом NSOrderedSet:
Прежде чем завершить разговор о множествах, упомяну еще об одном удобном классе, который может вам пригодиться. Класс NSCountedSet может несколько раз содержать уникальный экземпляр объекта. Правда, в нем эта задача решается иначе, нежели в массивах. В массиве может несколько раз присутствовать один и тот же объект. А в рассматриваемом здесь «подсчитываемом множестве» каждый объект появляется в множестве как будто заново, но множество ведет подсчет того, сколько раз объект был добавлен в множество, и снижает значение этого счетчика на единицу, как только вы удалите из этого множества экземпляр данного объекта. Вот пример:
Класс NSCountedSet является изменяемым, хотя из его названия это и не следует.
Обеспечение поддержки подписывания объектов в ваших классах
Традиционно при необходимости доступа к объектам, содержащимся в коллекциях — например, массивах и словарях, — программисту требовалось получить доступ к методу в словаре или массиве, чтобы получить или установить желаемый объект. Например, создавая изменяемый словарь, мы добавляем в него два ключа и значения, получая эти значения обратно:
Словарь петербуржца. Лексикон Северной столицы. История и современность
Научно-образовательная:
культурология
рейтинг книги
Восьмое Небо
Фантастика:
фэнтези
юмористическая фантастика
рейтинг книги
Пушкин
Я люблю Пушкина
Документальная литература:
биографии и мемуары
рейтинг книги
Буря Жнеца
7. «Малазанская империя»
Фантастика:
фэнтези
рейтинг книги
Я уже бог. Книга XL
40. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
рейтинг книги
Карл Ругер. Боец
1. Карл Ругер
Фантастика:
фэнтези
рейтинг книги
Избранное
Фантастика:
альтернативная история
рейтинг книги
Локки 6. Потомок бога
6. Локки
Фантастика:
аниме
фэнтези
рейтинг книги
Экспансия – I
10. Штирлиц
Детективы:
политические детективы
рейтинг книги
Валентин Серов
1136. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
рейтинг книги