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

Objective-C. Преимущества использования @property по сравнению с (ivar +setter/getter) - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C ARC не освобождает память http://www.cyberforum.ru/objective-c/thread1390013.html
Всем добрый вечер! Пишу приложение, скачивающее картинки. Картинки храню в Core Data. Приложение уж больно много жрет памяти. Я новичок, и не совсем понимаю принцип работы ARC. Почитал статьи на...
Objective-C Реализация динамической библиотеки Приветствую всех! В Objective-C новичок, и интересует следующие. Методики/примеры/статьи и т.д. по реализация программ с системой плагинов (dylib). Заранее благодарен. http://www.cyberforum.ru/objective-c/thread1389759.html
NSScrollView не показывает содержимое Objective-C
Не могу понять в чем проблема. Есть на главной вьюшке (окне) NSScrollView. Если внутрь него добавлять элементы, до компиляции они видны, после уже нет. Также в коде appDelegate. я пробовал сделать...
Objective-C Не получается присвоить переменной значение в методе IBAction
Добрый день. Если кто может - помогите, пожалуйста ! У меня есть два класса: ViewController, ViewController2 В первом классе по нажатию кнопки Button переменной string нужно присвоить значение...
Objective-C Сохранить изображение в Core Data http://www.cyberforum.ru/objective-c/thread1388670.html
Всем добрый вечер! Покажите на самом простом примере как работать с Core Data: нужен пример как сохранять картинку в локальное хранилище и как её потом оттуда вытащить. Я создал бд (.xdatamodeld),...
Objective-C Программно создать таблицу на форме на Objective C перешел недавно с шарпов и с++. Более менее научился заполнять Table View из кода используя NSArray добавляющийся в ArrayContoller из appDelegate. Сейчас задача сводится к... подробнее

Показать сообщение отдельно
ton252
0 / 0 / 0
Регистрация: 08.03.2015
Сообщений: 1

Objective-C. Преимущества использования @property по сравнению с (ivar +setter/getter) - Objective-C

08.03.2015, 01:06. Просмотров 891. Ответов 0
Метки (Все метки)

Добрый день, не могу понять одну вещь. Вот лекциях по Objective-C говорят, что одним из ключевых плюсов и необходимостью использования @property является возможность реалиции lazy instantiation. Как я понял, lazy instantiation нужна, чтобы у нас не возникало таких ситуаций, когда мы хотим получить значение объекта, который еще не создан. Вот такой пример:

через @property
—————————————————————————————————-
.h
Objective-C
1
2
3
4
5
6
7
8
9
10
@property (nonatomic, strong) NSMutableArray* myArray;
.m
@synthesize myArray = _myArray;
– (NSMutableArray*) myArray
{
if (!_myArray){
_myArray = [[NSMutableArray alloc] init];
}
return _myArray;
}
через @ivar
—————————————————————————————————-
.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
Class: NSObject{
@protected
NSMutableArray* _myArray;
}
.m
– (NSMutableArray*) myArray
{
if (!_myArray){
_myArray = [[NSMutableArray alloc] init];
}
return _myArray;
}
1. Могу ли я реализовать lazy instantiation через обычные ivar и аксессоры?
2. Не могли бы вы поподробней разъяснить про @property. Они нужны лишь за тем, чтобы сократить кол-во кода и повысить его читаемость? Или в них скрыты какие-то еще более сложные механизмы, связанные с weak, strong, copy, readwrite, readonly? Если есть возможность можете привести примеры, когда стоит использовать strong, а кода weak
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru