变量不正确值

时间:2012-02-23 07:43:03

标签: variables nslocalizedstring

我得到了这段代码:

- (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 :(得分:0)

我不知道是否是这种情况,但即使[sender tag]!= 1,此代码也会调用release,并且根本没有分配变量。如果发生这种情况,可能会导致奇怪的值或崩溃。