Хотя вопрос является базовым, но мне очень важно понять, как продолжить программирование IOS. Иногда мы использовали для объявления только переменную экземпляра, и мы не устанавливаем для нее никакого связанного с ней свойства. Некоторые, где мы просто объявляем свойства и используем синтез для получения или установки значений. Иногда мне нужно объявить оба кода, когда компиляция дает мне предупреждения! Что является основной причиной манипулирования свойствами в Objective C. Я знаю основное требование для создания getter и setter для любой переменной экземпляра, но когда? Я видел это много раз, мы вообще не используем свойство, и после этого мы легко устанавливаем и получаем значение переменной. Кроме того, для меня очень непонятны различные типы собственности, такие как атомные, неатомные, сильные, сохраняющие. Ускорение XCODE до 4.2 потрясло мои концепции управления памятью. Может кто-нибудь, пожалуйста, очистить облако над моим умом?Объект C: объявление декларации @property и объявление переменной экземпляра
ответ
Свойства всегда предпочтительный способ более прямой доступ Ивар, в основном по следующим причинам:
- Вы можете переопределить геттер или сеттера в подклассе
- Вы можете определить «назначая поведение» (а именно
copy
,assign
,retain/strong
,weak
) - Вы можете синхронизировать доступ Ивар
Ключевые слова:
copy
: Объект копируется в Ивар при установкеassign
: указатель объекта присваивается Ивар при установленномretain/strong
: Объект сохраняется на наборweak
: В АРК это похоже на назначение, но будет автоматически установлено наnil
, когда экземпляр будет освобожден, также используемый в среде сбора мусора.nonatomic
: Аксессор не@synchronized
(поточно), и, следовательно, быстрееatomic
: Аксессор является@synchronized
(поточно), и, следовательно, медленнее
Как правило, вы всегда должны синтезировать Ивар. Если вам нужен более быстрый доступ по соображениям производительности, вы всегда можете получить доступ к синтезированному ivar напрямую.
небольшие определения для всех ключевых слов действительно полезны ... спасибо ..:) –
Если это помогло вам вознаградить Эрика, нажав галочку (галочку) рядом с его ответом – zenopolis
При наборе текста я увидел, что «Эрик Эйгнер» был быстрее с хорошим ответом.
Например ЕМП на свойства, обобщать и пользовательские сеттер увидеть мой ответ на стек: Objective-C convention to prevent "local declaration hides instance variable" warning
Для Stater учебник по АРК см explenation на Ray wenderlich его сайт:
Да, именно это я и ищу .. спасибо Juzz –
- 1. Поместить IBOutlet в объявление переменной экземпляра или объявление @property?
- 2. Объявление декларации с использованием переменной?
- 3. Объявление переменной переменной C
- 4. Объявление переменной экземпляра для ссылки на объект
- 5. Объявление @property без @synthesizing
- 6. Объявление @property с другим именем?
- 7. Объявление переменной и назначение
- 8. Классы в C++: Объявление экземпляра
- 9. Объявление переменной экземпляра переменной и свойства с таким же именем
- 10. C++ Объявление переменной
- 11. Объявление переменной в C
- 12. C множественным Объявление переменной
- 13. Объявление переменной C#
- 14. Объявление переменной метода C++
- 15. Объявление переменной какао
- 16. Объявление переменной
- 17. TASM: Безымянное объявление переменной
- 18. Объявление и назначение переменной
- 19. предсказания ветвлений и объявление переменной
- 20. Weird Java Объявление переменной
- 21. Объявление переменной
- 22. Объявление переменной
- 23. Объявление переменной
- 24. Объявление функции или экземпляра?
- 25. локальное объявление переменной скрывает переменную экземпляра
- 26. Объявление переменной в заголовке C
- 27. Объявление переменной global в C#
- 28. Объясните объявление переменной в C
- 29. Объявление локальной переменной в C
- 30. Объявление переменной в C mingw
http://www.raywenderlich.com/tutorials Проверьте этот сайт на удивительные учебники. Я узнал много концепций с этого сайта. – Aaron
спасибо Aaron ... –