Я новичок в Objective C и у меня простой вопрос об управлении памятью.
Это простой метод для кнопки, которая меняет UILabel
с текстом в UITextField
.
-(IBAction) setLabel
{
NSString *inputText = [[NSString alloc]initWithString:myTextField.text];
[myLabel setText:inputText];
[inputText release];
}
Этот код работает нормально. Но если я изменю этот код на следующий,
-(IBAction) setLabel
{
NSString *inputText = [[NSString alloc]initWithString:@"some string value"];
inputText = myTextField.text;
[myLabel setText:inputText];
[inputText release];
}
Затем происходит сбой приложения во время выполнения. Я должен удалить строку [inputText release];
, чтобы запустить приложение без сбоев.
Насколько я знаю, если я создал что-то с помощью alloc, я должен его выпустить Но здесь, если я выпускаю эту строку, происходит сбой приложения. Может кто-нибудь объяснить причину?
Заранее спасибо