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

Objective-C

Войти
Регистрация
Восстановить пароль
 
andrei0077
6 / 6 / 1
Регистрация: 23.06.2011
Сообщений: 92
#1

Свойства - Objective-C

12.09.2012, 18:53. Просмотров 958. Ответов 4
Метки нет (Все метки)

Добрый день! У меня проект с ARC. Я задал свойство
Objective-C
1
@property (nonatomic,strong) UITableView *theTableView;
. Синтезирировал его так
Objective-C
1
@synthesize theTableView = theTableView_
Такой вопрос: как к нему обращаться из класса, в каких случаях нужно обращаться к self.theTableView , а в каких к theTableView_ ? Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.09.2012, 18:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Свойства (Objective-C):

ARC и свойства - Objective-C
Добрый день! Такой вопрос. В режиме ARC , в каких случаях нужно писать у свойства nonatomic, а в каких atomic? Смотрел документацию,...

Свойства и переменные - Objective-C
добрый день! продолжаю учить obj c. Не понял один момент со свойствами. кратко создал класс со свойствами и в main импортировал его. ...

Свойства класса - Objective-C
Здравствуйте! Пытаюсь разобраться со старым и новым способами записи свойств класса. Нашел здесь ссылку...

Видимость свойства - Objective-C
Всем привет! в Классе LoadingData.h @property (nonatomic, retain) NSMutableDictionary *indexFullData; в LoadingData.m @synthesize...

Size Classes и свойства frame/bounds у UIView - Программирование iOS
Всем привет! Решил в своем pet-проекте заюзать по-полной size classes, и столкнулся со следующей странностью: Для anyW & anyH...

Как из одного ViewController изменить свойства другого? - Программирование iOS
Здравствуйте! У меня приложение на UITabBarController, я хочу чтобы если пользователь нажал кнопку в 1 вью, во втором отобразилась...

4
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
12.09.2012, 19:18 #2
Если уж синтезируйте, синтезируйте правильно:
Objective-C
1
@synthesize tableView = _tableView;
Артикль the можно опустить, он тут совершенно не нужен.
Подчеркивание, если по хорошему , необходимо писать именно вначале изза особенностей работы KVC. Ну еще так советуют в доке Apple, объясняя почему. Будет интерес - разберетесь.

_tableView - это "instance variable". Все это для ограничения области видимости.
Тогда как, если вы определите свойство(@property) в интерфейсе(.h), любой класс может обратиться к этой переменной через someClass.tableView;
По сути - это ограничение доступа к ivar только через методы доступа(setter, getter).
1
andrei0077
6 / 6 / 1
Регистрация: 23.06.2011
Сообщений: 92
12.09.2012, 19:29  [ТС] #3
Спасибо. Осталось 2 вопроса. 1) Когда я обращаюсь из самого класса , лучше писать _tableView или self.tableView ? 2) Я скачал 2 исходника с сайта apple и там для всех свойств подчеркивание пишут именно в конце слова, почему?
0
Vorona
Peace 2 all shining faces
668 / 530 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
12.09.2012, 19:59 #4
Цитата Сообщение от andrei0077 Посмотреть сообщение
Когда я обращаюсь из самого класса , лучше писать _tableView или self.tableView ?
думаю, все же лучше второй вариант, так как может понадобиться переопределить методы tableView и setTableView, и реализовать в них некоторую логику, отличную от стандартной,
к примеру у вас есть проперти age и вам понадобилось запретить ввод чисел меньше 0 и больше 100, тогда нужно будет внести изменения только в одном месте - в самом аксессоре или мутаторе
Цитата Сообщение от andrei0077 Посмотреть сообщение
Я скачал 2 исходника с сайта apple и там для всех свойств подчеркивание пишут именно в конце слова, почему?
про подчеркивание zulkis уже сказал, от себя добавлю, что есть некоторые зарезервированные слова, которые начинаются с подчеркивания, может быть из-за этого, так же чтобы наверняка имя вашей переменной с ними не путалось, советуют ставить два подчеркивания вместо одного (наблюдал такое в автоматически сгенерированных свойствах с помощью Core Data и в лекциях стенфордского университета, где это упоминается)
1
andrei0077
6 / 6 / 1
Регистрация: 23.06.2011
Сообщений: 92
13.09.2012, 10:38  [ТС] #5
Спасибо, всё разъяснили.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2012, 10:38
Привет! Вот еще темы с ответами:

PropertyGrid. Как отловить видимость свойства в зависимости от другого свойства? - C#
Работаю с propertyGrid. Одно поле высвечивается, когда в другом появляется определенное значение. Взяла за основу раздел «Как управлять...

Что лучше, свойства с приватной переменной или автоматические свойства? - C#
Известно, что в классах свойства можно определить так: class MyClass { private int val; public int Val ...

.NET 4.x Реализовать зависимость свойства volume у mediaElement от свойства Value у slider - C# WPF
Добрый день! Как можно реализовать зависимость свойства volume у mediaElement от свойства Value у slider? Что бы при увеличении значения...

.NET 4.x Биндинг свойства контрола к одной из переменных свойства класса - C# WPF
Добрый день. У меня есть вопрос по биндингу. Ситуация следующая: У меня есть структура, которой содержится несколько переменных....


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

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
13.09.2012, 10:38
Ответ Создать тему
Опции темы

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