Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
abrams2
0 / 0 / 0
Регистрация: 05.03.2014
Сообщений: 15
#1

Зачем нужно свойство @property (assign) - Objective-C

23.09.2014, 21:56. Просмотров 1133. Ответов 6
Метки нет (Все метки)

Для чего нужно свойство property (assign)? Как мне обратиться к полю класса, если оно под @property? Что будет, если убрать его? Я так понимаю это как-то связано с геттерами и сеттерами.
При создании cocoa приложения столкнулся с тем, что поле NSWindow как раз с этим свойством, и поэтому я не могу обращаться к window из другого класса.
Поймите правильно, мне часто приходится обращаться к этому полю (self.window.contenView и всё такое), по-другому добавлять объекты не умею... Так ли нужно, чтобы у этого поля было это свойство? И что тогда мне надо написать в методе другого класса (не AppDelegate), чтобы добавить скажем NSTextField? Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2014, 21:56     Зачем нужно свойство @property (assign)
Посмотрите здесь:
Objective-C @property (readonly)
Objective-C Property и synthesize
Outlet, @property Objective-C
Objective-C Property класса
@interface и @property Objective-C
Objective-C @property или ivar
Objective-C @property,@synthesize в Objective-C
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
23.09.2014, 23:16     Зачем нужно свойство @property (assign) #2
все очень просто
раз и два
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
24.09.2014, 01:20     Зачем нужно свойство @property (assign) #3
Разбираемся как работает @synthesize

(читать всю тему, истина где-то рядом)
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,276
24.09.2014, 02:24     Зачем нужно свойство @property (assign) #4
Цитата Сообщение от noname_club Посмотреть сообщение
(читать всю тему, истина где-то рядом)
читать документацию нужно от первоисточника, а не споры и глупые предположения (тем более, вы то уже точно не блеснули там умом)
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
24.09.2014, 03:16     Зачем нужно свойство @property (assign) #5
Просто я высказал мысль что в текущих реалиях словой @synthesize потеряло свою значимость.
Также показал реально действующие примеры с сеттерами и геттерами при использовании ARC.

Ваша ссылка это "инструкция" для сеттеров при выключенном ARC где слово @synthesize необходимо http://www.raywenderlich.com/2712/pr...torial-for-ios

Ну а оригинальный мануал хорош, но достаточно сложен для понимания с первого раза.
Ибо там изобилуют схемы принципа работы ARC
vitali36
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
28.09.2014, 16:16     Зачем нужно свойство @property (assign) #6
В основном assign используется для примитивных типов. Например: @property(assign,nonatomic)NSInteger age; Или @property(assign,nonatomic)CGFloat pointOne; Для IBOutlet исп weak, для NSString* и т.д strong
Чтобы обратиться к этому проперти в файле имплементации этого класса пишем: self.age. Проперти можем объявить как в хедере(public), так и в .m (private). Если из другого класса, то сначала создаем объект, затем пишем имя_объекта.age
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2014, 11:16     Зачем нужно свойство @property (assign)
Еще ссылки по теме:
Великие и ужасные @property Objective-C
Работа @property в одном классе в разных методах Objective-C
Objective-C Разница между @property и объявлением переменной в классе хедера
Добавить свойство категории Objective-C
Cannot assign to a read-only property Delphi

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
29.09.2014, 11:16     Зачем нужно свойство @property (assign) #7
Я обычно для примитивных типов просто пишу @property (nonatomic) ... . Есть ли разница между такой декларацией и @property(assign,nonatomic) ... для подобных типов?
Yandex
Объявления
29.09.2014, 11:16     Зачем нужно свойство @property (assign)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru