Заголовок:Почему мои переменные не сохраняются между методами? - iPhone файл
NSString *righta;
@property(nonatomic, retain) NSString *righta;
(я обычно не делают заявлений @property для моих переменных, но думал, что это может помочь переменной сохраняться через класс, хотя он не имеет)
файлРеализация:
@synthesize righta;
- (void) function1 {
righta = [NSString stringWithFormat:@"A"];
}
- (IBAction)function2:(id)sender {
NSLog(@"righta is still %@", righta);
}
в попытке доступа к значению строки во второй функции, я получаю «EXC_B AD_ACCESS "и приложение аварийно завершает работу.
Любая помощь была бы высоко оценена.
Спасибо!
Я проголосовал за все 3 ответа, но получил это за то, что был самым полным. – RanLearns
Основываясь на вашем ответе, я предполагаю, что вы также можете [righta сохранить]; и это должно сработать, но предпочтение свойства предпочтительнее ... просто устранить ненужные вызовы сохранения и освобождения? – RanLearns
Да, это тоже сработает. Свойства предпочтительнее, поскольку они устраняют инкапсулирующее управление памятью. – albertamg