У меня есть класс, который имеет строку NSString.
@interface AudioManager : NSObject {
AudioData *data_;
NSString *requiredMusic_;
NSTimer *timer_;
MUSIC_ID musicId_;
float fadeIncrement_;
}
Когда я смотрю на переменную requiredMusic_
через отладчик в методе init
, записывается, что NSCFString ... out of scope
.Но если я посмотрю на эту переменную из self
, то будет написано, что это ноль!
-(id) init
{
self = [super init];
if (self)
{
data_ = &[[GameDataObject sharedObject] data]->audioData();
requiredMusic_ = @"bla bla bla";
musicId_ = MUSIC_OTHER;
}
return self;
}
Out of scope
также написано в других местах, и мой код не работает должным образом.В чем проблема?
-(void) changeBackgroundMusic:(NSString *)path
{
[requiredMusic_ release];
requiredMusic_ = path;
[requiredMusic_ retain];
...
}
В приведенном выше коде это также выходит за рамки.