iPhoneでアプリを起動しようとすると、不思議なクラッシュが発生します(ただし、シミュレーターでは完全に有効です)。問題はこの2つの方法にあると思います。
-(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'
私を助けてください、私は本当に私が何を間違えたのか分かりません、私がコンソールのシミュレーターで同じことをしたとき、私は今の日付と日付からの年の違いを見ることができます、ユーザーが選びました。
更新:[selfdefaultBirthdayPickerDate]を削除した後; viewDidLoadセクションで動作を開始します。しかし、現在、ピッカーは現在の日付を表示します。誕生日の日付を選択するのにはあまり便利ではありません。現在の日付を現在から過去に変更する必要があります。