尝试在 iPhone 上启动我的应用程序时发生了神秘的崩溃(尽管它在模拟器上完全有效)。我认为问题在于这两种方法..:
-(void)viewWillAppear:(BOOL)animated{
[self getValueFromPicker];
}
-(void)getValueFromPicker{
NSDate *now = [NSDate date];
NSDate *birthDate = self.birthdayPicker.date;
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
fromDate:now
toDate:birthDate
options:0];
NSLog(@"Difference in years %i/", components.year);
}
应用程序因SIGABRT错误而崩溃 ,并且我可以在控制台中看到一条文本:Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: date'
请帮助我,我真的不知道我做错了什么,当我在控制台的模拟器上做同样的事情时,我可以看到从现在日期和用户选择的日期到年份的差异。
更新:在我删除 [self defaultBirthdayPickerDate] 之后;在 viewDidLoad 部分它开始工作。但是,现在选择器显示当前日期,选择生日日期不是很方便,现在我仍然需要将其当前日期从现在更改为过去..