Могу ли я пометить UIColor, который постоянно меняет значения для легкого доступа к методам?Можно ли пометить UIColor?
ответ
С iPhone SDK 3.1 вы можете использовать objc_setAssociatedObject
. Вы бы сделали что-то вроде:
objc_setAssociatedObject(myColor, infoObject, &keyObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
Примечание 1: значение должно быть объектом. Вы не можете установить целое число как значение.
Для получения значения:
id aTag = objc_getAssociatedObject(myColor, &keyObject);
Примечание 2: keyObject должен точно тот же объект, который вы использовали при установке значения. Он не будет работать, если вы отправляете другой объект с тем же значением.
Если позже вы хотите, чтобы освободить значение тега:
objc_setAssociatedObject(myColor, nil, &keyObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
(.. Из-за ошибки это не работает в iPhone симулятор Смотрите this question для получения дополнительной информации)
Вы также можете читайте this post, который касается использования этого метода для хранения ключей.
Примечание: Я не говорю, что это лучший способ справиться с этой проблемой. Как Objective-C Руководство по программированию состояний, связанные объекты, в основном, предназначены для ситуаций, когда
у вас нет доступа к коду источник для класса, или если по причинам двоичной совместимости вы не можете изменить компоновка объекта.
Читать все о нем here.
- 1. Можно ли пометить итератор как преждевременно?
- 2. Можно ли пометить потоки TCP в Windows?
- 3. Можно ли пометить поток сообщений «unseen = 0»?
- 4. Можно ли пометить альтернативный URL-адрес
- 5. TFS: можно ли пометить рабочие элементы группами?
- 6. addthis api? Можно ли пометить другой URL?
- 7. Можно ли пометить строку в pdf-документе?
- 8. Можно ли пометить переопределенный метод как окончательный
- 9. Можно ли даже пометить фотографии в Facebook?
- 10. Можно ли пометить метод маршрутом в Flask?
- 11. Можно ли пометить uiimage в uiimageview индивидуально?
- 12. Можно ли пометить частные методы как «статические» как можно больше?
- 13. Ограничить, какие ветви можно пометить
- 14. Можно ли пометить файлы Subversion для выборочной проверки/доступа/видимости?
- 15. Можно ли пометить файлы/папки в Eclipse как сгенерированные?
- 16. Можно ли пометить последние несколько изображений в докере?
- 17. Можно ли пометить тесты как длительное время в googletest-трассах?
- 18. Можно ли пометить тест как ожидающий в MiniTest?
- 19. Intern: Можно ли пометить тест как ожидающий/отключить его?
- 20. HTML, accessibilty: можно ли пометить два элемента управления одной меткой?
- 21. Можно ли пометить текст как не подлежащий поиску?
- 22. Можно ли пометить приложение iOS как локальное приложение?
- 23. Можно ли пометить узел XML как «необходимо преобразовать»?
- 24. Используя tsql, можно ли пометить/объединить дубликаты с уникальными номерами?
- 25. Можно ли назвать (или пометить) поля FormStack простыми идентификаторами?
- 26. Можно ли пометить поле магазина как только в ExtJS?
- 27. Сравнение UIColor
- 28. Использование UIColor в операторе switch
- 29. Разница между запасом UIColor и пользовательским UIColor
- 30. UIColor Компоненты
Уточните пожалуйста. В UIColor нет свойства тега, например, в UIView. Если вам нужен объект цвета, который легко доступен для многих методов, просто поместите его в переменную-член типа UIColor *. –