У меня проблема с переменной, помеченной как «вне области видимости».Objective-C переменная вне области действия
Следующий метод можно найти в моем коде:
- (void)CampaignComplete:(Campaign *)controller Picked:(NSString *)value {
selectedCampaign = [[NSString alloc] initWithString: value];
Значение переменной с именем «значение» можно увидеть с помощью отладчика. Однако, когда я назначаю его переменной selectedCampaign и продолжаю переходить через выбранную программу, Кампания выходит за рамки.
Вот selectedCampaign материал из .h:
@interface .....{
NSString *selectedCampaign;
}
@property (retain) NSString *selectedCampaign;
@end
Может кто-нибудь сказать мне, что я делаю неправильно? Большое спасибо!
Является ли объект еще в сфере видимости? Вызывается ли его метод dealloc и выбрано selectedCampaign? – Colin
Это единственное место в программе, в которой он был использован. –
Да, но если вы выделили и сохранили объект «.....», затем вызвали CampaignComplete, а затем выпустили .... ., а если в методе dealloc ..... вы отпустите selectedCampagn (как и должно быть), тогда selectedCampaign будет недоступен. Вы уверены, что объект все еще жив? – Colin