2010-06-19 3 views
0

У меня проблема с переменной, помеченной как «вне области видимости».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 

Может кто-нибудь сказать мне, что я делаю неправильно? Большое спасибо!

+0

Является ли объект еще в сфере видимости? Вызывается ли его метод dealloc и выбрано selectedCampaign? – Colin

+0

Это единственное место в программе, в которой он был использован. –

+0

Да, но если вы выделили и сохранили объект «.....», затем вызвали CampaignComplete, а затем выпустили .... ., а если в методе dealloc ..... вы отпустите selectedCampagn (как и должно быть), тогда selectedCampaign будет недоступен. Вы уверены, что объект все еще жив? – Colin

ответ

0

Использование self.selectedCampaign прояснится вопрос ... сейчас в области видимости какой-то причине

0

Вы полностью ссылаясь на время отладки «в рамках» против вопросов «выходит за рамки», а не во время компиляции , правильно?

Если это так, проблема является известной ошибкой в ​​отладчике, которая исправлена ​​в более поздней версии. Я не уверен, исправлена ​​ли ошибка в отправной версии отладчика.

0

Я думаю, что данные в строковом значении не находятся в строковом формате

Смежные вопросы