Строковое значение не может быть присвоено строковой переменной в iphone? - PullRequest
0 голосов
/ 01 февраля 2011

В моем приложении я беру значение UITextField, обрезаю его и присваиваю строковую переменную, объявленную в Appdelegate.Он присваивается переменной appdelegate и работает хорошо, иногда не назначается переменной appdelegate (это значение используется в другом представлении, поэтому оно объявлено в appdelegate).Пожалуйста, помогите ...

NSString *txtTemp=[NSString stringWithFormat:@"%@",[txtName.text  stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
txtName.text=txtTemp;
[self appDelegate].customSearchQuery=[NSString stringWithFormat:@"%@",txtTemp];

NSLog(@"--appDelegate.customSearchQuery =%@",appDelegate.customSearchQuery);

1 Ответ

1 голос
/ 01 февраля 2011

Скорее всего, это проблема управления памятью.NSString создает объект с автоматическим освобождением.Вам придется retain, если вы хотите использовать его вне метода, который вы показали выше.Проще всего сделать delcare как

@property (nonatomic, retain) NSString *customSearchQuery; 

в вашем Appdelegate.h.Это должно сработать.

В методе dealloc appdelegate вам нужно его освободить - иначе вы пропустите NSString;с объявлением выше, вы добавите

customSearchQuery = nil;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...