Доступ к свойству внутри неинициализированных методов дает плохой доступ - PullRequest
0 голосов
/ 14 сентября 2010

Я начал работу над сторонним проектом, поэтому кодовая база очень мала, очень мало, что может пойти не так.Что-то странное происходит.В viewDidLoad я инициализирую массив, заданный как свойство:

@property (nonatomic, retain) NSMutableArray * story_array;

и заполняю его данными.Эта распечатка в порядке:

NSLog(@"%@", ((ArticlePreview *)[self.story_array objectAtIndex:0]).article);

У меня есть распознаватель жестов:

UITapGestureRecognizer * openStory = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showStory)];

Нажатие на него вызывает метод, первая строка которого это (то есть тот же NSLog):

NSLog(@"%@", ((ArticlePreview *)[self.story_array objectAtIndex:0]).article);

Но это вызывает плохой доступ.Доступ к самой story_array - это нормально (он скажет, что внутри него есть много объектов ArticlePreview), но доступ к их полям - нет-нет.

Story_array инициируется следующим образом:

self.story_array = [[NSMutableArray alloc] init];

1 Ответ

0 голосов
/ 16 сентября 2010

Присвоение полей объекту ARticle Preview не было выполнено должным образом. У меня было:

someField = someValue;

Мне нужно было:

self.someField = someValue;

Я все еще нахожу это немного сумасшедшим, но вот, пожалуйста. Решаемые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...