У меня возникли проблемы при назначении переменной для работы в следующем инициализаторе:
- (id)initWithBaseURL:(NSString *)url {
self = [super initWithNibName:@"MyNibName" bundle:nil];
if (self) {
baseURL = [url copy];
}
return self;
}
Я проверил, что параметр url действителен с соответствующим содержимым (созданным как NSMutableString, созданным через NSXMLParser, затем проверенным в методе initWithBaseURL в отладчике), но после присвоения результата операции копирования baseURL, baseURL переменная находится вне области видимости и остается недействительной. Любые попытки доступа к переменной baseURL в других методах класса приводят к ошибке EXC_BAD_ACCESS.
Я объявил baseURL в файле .h следующим образом, без операций @property или @synthesize, поскольку я пытаюсь использовать его в качестве закрытой переменной-члена:
@interface SignInViewController : UIViewController {
// other variables
@private
NSString *baseURL;
}
// Other @property delcarations, IBAction method declartions, and method declarations
@end
Я также пытался использовать описанную технику здесь , но это только вызывает ошибку EXC_BAD_ACCESS в инициализаторе.
Что я делаю, что может вызвать ошибки EXC_BAD_ACCESS, и как я могу это исправить?