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

Objective-C

Войти
Регистрация
Восстановить пароль
 
too young
1 / 1 / 0
Регистрация: 26.07.2011
Сообщений: 8
#1

Проблемы со свойством - Objective-C

05.10.2011, 02:11. Просмотров 905. Ответов 2
Метки нет (Все метки)

Если инициализировать свойство класса, созданное с использованием
Objective-C
1
@property (nonatomic, retain) NSArray *prop
в теле функции (void)init следующим способом:
Objective-C
1
prop = [NSArray arrayWithObjects:@"1", @"2", nil]
то где в коде будет ошибка, какие последствия в работе программы она будет иметь и в какой момент (в какой фунции) это может случиться?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.10.2011, 02:11     Проблемы со свойством
Посмотрите здесь:

Проблемы с контроллерами - Objective-C
ViewController.h: #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property int a; @end;

Проблемы с свойством RecordCount элемента Data (VB 6.0) - Visual Basic
Используется Access'овская база. Data1.Recordset.RecordCount в начале выполнения программы выдаёт 1, а через некоторое времени, даже если...

Проблемы с инетом, не отправляется почта, проблемы со связью с другой организацией - Сети
Здравствуйте. Есть проблемка. Такая ситуация - Организация. Компьютеры подключены по локалке. Находятся в домене. Интернет есть, но! не...

MaskEdit с свойством времени - Delphi
Добрий вечер. Есть одна проблема...Есть два поля MaskEdit со свойством Time...хочу выводить разницу между этими значениями, то есть ,...

Работа со свойством Tag - C++ Builder
Есть Image1, Image2...Image10 у них Tag соответсвенно 1,2...10 Так вот, для всех Image нужно обработать функцию MouseMove Я создаю...

Работа со свойством listindex - Visual Basic
Проблема такая : начал я изучать visual basic по одной книжке ! Задание написать программу сочинитель с использованием раскрывающихся...

Работа со свойством Checked - Delphi
Здравствуйте. У меня следующая проблема. Я добавил в программу поддержку скинов. Все работает, все нормально, но... мне надо чтобы...

Компонент со свойством множество - Delphi
Создать простейший компонент с единственным свойством множество.

проблема со свойством float - HTML, CSS
Такой вопрос друзья: у меня две колонки правая и левая со значениями float: right и left когда я создаю контентную часть то она игнорит у...

Непонимание с свойством margin - HTML, CSS
Есть секция на всю ширину экрана, в нем контейнер на всю ширину секции.В этом контейнере два блока, верхний, занимающий всю ширину...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Splitter
201 / 143 / 5
Регистрация: 13.01.2009
Сообщений: 554
05.10.2011, 13:15     Проблемы со свойством #2
а почему Вы думаете что будет ошибка?
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
19.10.2011, 12:16     Проблемы со свойством #3
Вместо
Objective-C
1
prop = [NSArray arrayWithObjects:@"1", @"2", nil]
нужно
Objective-C
1
self.prop = [NSArray arrayWithObjects:@"1", @"2", nil]
Поскольку в первом случае сеттер не будет вызван( если проперти привязана к переменной prop в интерфейсе) Это значит, что ретейна не будет и после дрейна текущего авторелиз пула память из под этого объекта будет помечена свободной и очень быстро будет перезаписана. Чаще всего можно будет увидеть ошибку "объект не распознает селектор", тк вместо массива там будет записано что-то другое.

Впрочем, до дрейна авторелиз пула падения проги при обращении к массиву не будет.

Можно провести забавный эксперимент:
Objective-C
1
2
3
4
5
6
7
8
9
10
- (id) init { 
if( (self = [super init]) ) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
prop = [NSArray arrayWithObjects:@"1", @"2", nil];
[pool drain];
NSArray* notRelatedArray = [NSArray arrayWithObjects:@"3", @"4", nil];
NSLog(@"%@", [prop objectAtIndex:0]);
}
return self;
}
И посмотреть на лог. Потом заменить prop = на self.prop = и посмотреть разницу.Ее,конечно, может и не быть, но на моей системе была
Yandex
Объявления
19.10.2011, 12:16     Проблемы со свойством
Ответ Создать тему
Опции темы

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