当用户单击单元格时,我试图展开视图控制器。我收到错误无法识别的选择器发送到实例...当我单击一个单元格时,我插入的两个 NSLog 没有显示,它只是因该错误而崩溃。这是我的 PrepareForSegue 方法的代码
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSString *pointsPath = [[NSString alloc] initWithFormat:@"totalPoints"];
NSString *primaryPath = [[NSString alloc] initWithFormat:@"type"];
int primaryType = [[NSUserDefaults standardUserDefaults]integerForKey:primaryPath];
int totalPoints = [[NSUserDefaults standardUserDefaults]integerForKey:pointsPath];
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"classType"];
if([sender row] == 0)
{
NSLog(@"Chose 0");
if(primaryType > 0)
{
[[NSUserDefaults standardUserDefaults]setInteger:0 forKey:primaryPath];
int newPoints = totalPoints - 1;
[[NSUserDefaults standardUserDefaults]setInteger:newPoints forKey:pointsPath];
[[NSUserDefaults standardUserDefaults] synchronize];
}
else if (primaryType == 0)
{
[[NSUserDefaults standardUserDefaults]setInteger:0 forKey:primaryPath];
[[NSUserDefaults standardUserDefaults]synchronize];
}
}
else if([sender row] > 0 && [sender row] < [self.guns count])
{
int rowNumba = [sender row];
NSLog(@"You chose row #%i", rowNumba);
int numberToSave = [sender row];
if(totalPoints < 10)
{
if(primaryType != 0)
{
[[NSUserDefaults standardUserDefaults]setInteger: numberToSave forKey:primaryPath];
[[NSUserDefaults standardUserDefaults]synchronize];
}
else if (primaryType == 0)
{
[[NSUserDefaults standardUserDefaults]setInteger:numberToSave forKey:primaryPath];
int newPoints = totalPoints + 1;
[[NSUserDefaults standardUserDefaults]setInteger:newPoints forKey:pointsPath];
[[NSUserDefaults standardUserDefaults] synchronize];
}
}
else if (totalPoints >= 10 && primaryType != 0)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Too many points!"
message:@"You have the maximum amount of points"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}