Ссылаясь на NSString в выводе UIAlertView? - PullRequest
0 голосов
/ 30 января 2011

У меня есть NSString, testString, которому присвоено значение в моем приложении.Затем, в ответ на нажатие кнопки в UIAlertView у меня есть следующий код:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 0) {
        NSLog(@"String: %@", testString);
    }
}

Но по какой-то причине это всегда приводит к сбою приложения.Я не могу понять, почему.

1 Ответ

3 голосов
/ 30 января 2011

Вероятно, вы создаете свою строку одним из удобных методов и не сохраняете ее, поэтому, когда дело доходит до clickedButtonAtIndex оповещения, она уже автоматически выпущена.Вы должны определить его как

@property (nonatomic, retain) NSString *testString;

В реализации:

@synthesize testString;

При создании:

self.testString = [NSString stringWithFormat:@"%@", @"My test string"];

и [testString release]; на dealloc.

Затем, когда вы используете его в clickedButtonAtIndex, вы можете быть уверены, что ваша testString имеет правильное значение

...