Пожалуйста, дайте мне несколько советов о том, как изменить переменную NSString.
В моем классе я установил член var:
NSString *m_movieName;
...
@property(nonatomic, retain) NSString *m_movieName;
В методе viewDidLoad я назначаю имя по умолчанию для этой переменной:
-(void)viewDidLoad{
NSString *s1 = [[NSString alloc] initWithFormat:@"Forrest Gump"];
self.m_movieName = s1;
...
[s1 release];
[super viewDidLoad]
}
В какой-то функции я хочу дать новое имя этой переменной, поэтому я сделал следующее:
-(void)SomeFunc{
NSString *s2 = [[NSString alloc] initWithFormat:@"Brave Heart"];
//[self.movieName release]; // ??????? Should perform here?
self.m_moiveName = s2;
[s2 release];
}
Я знаю, NSString * var - это просто указатель на выделенный блок памяти, и операция 'assign' будет увеличивать счетчик использования этого блока памяти. Для моей ситуации, я должен выпустить m_movieName перед присвоением ему значения? Если я не отпущу его (через [self.movieName release]), когда и где будет выпущен предыдущий блок?
Большое спасибо за вашу помощь!