Переменная не принимает правильное значение - PullRequest
0 голосов
/ 23 февраля 2012

Я получил этот кусок кода:

- (void)ShowTypeOfExercises:(id)sender
{
NSString *lstrGroupTitle;
NSString *lstrGroupNumber;

if(([sender tag]) == 1)
{
    lstrGroupTitle = NSLocalizedString(@" Chest", @"");
    lstrGroupNumber = @"  1";
}
.
.
.
.
[lstrGroupNumber release];
[lstrGroupTitle release];

Exercises *objExercises = [[Exercises alloc] initWithNibName:@"Exercises" bundle:nil];
[self.navigationController pushViewController:objExercises animated:YES];
}

Этот блок кода работает нормально при первом нажатии, но при втором щелчке он всегда вылетает. Он падает, потому что, как ни удивительно, lstrGroupTitle получает странное значение. Как он может получить неправильное значение в этой простой функции?

Примечание: lstrGroupNumber работает нормально.

1 Ответ

0 голосов
/ 23 февраля 2012

Я не знаю, так ли это, но этот код вызывает release, даже если [sender tag]! = 1 и переменные вообще не были распределены. Если это произойдет, это может привести к странным значениям или сбоям.

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