因此,出于某种原因,以某种方式,我NSNumber
总是如此nil
,这让我发疯。
如果用户在我的选择器中选择了一行,则会调用它并且它工作正常:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
self.query.activityLevel = [NSNumber numberWithInt:[[[self.activityArray objectAtIndex:row]objectForKey:@"key"]intValue]];
}
但是,当用户没有选择一行,而是继续下一个 VC 时,我会检查是否activityLevel
是nil
并将其设置为1
如果是。
- (void)donePressed {
if (!self.query.activityLevel) {
self.query.activityLevel = [NSNumber numberWithInt:2];
}
NSNumber *calories = [Calculations numberOfCaloriesNeededForQuery:self.query];
[self dismissModalViewControllerAnimated:YES];
}
问题是,每当用户没有选择一行并且它命中self.query.activityLevel = [NSNumber numberWithInt:2];
时,如果我打印该对象,它仍然是nil
. 我不知道为什么。我设置了一个断点,它正在触及那条线......