小编Jim*_*y G的帖子

在"TimePicker"中设置NSDate,格式为24-12小时xcode

我正在使用一些NSDate对象,好吧,我使用我的iPhone 24小时格式,所以当我测试我的应用程序时,一切都很顺利,但是,我的一个朋友在他的iPhone上尝试了应用程序,但他使用了12小时格式,经过一些研究我发现问题是日期,我不知道为什么我用这个来设置日期选择器和时间选择器,所以我从数据库中读取了一些值(是的,我检查了值和它们是正确的,它不是一个价值问题),所以所有这些数据都被格式化并放在一起作为NSDate,然后,我设置日期选择器和时间选择器与我刚刚创建的这个日期

NSDateFormatter *currentDate = [[[NSDateFormatter alloc] init] autorelease];
[currentDate setDateFormat:@"yyyy-MM-dd HH:mm"];
NSDate * startDate =[currentDate dateFromString:[NSString stringWithFormat:@"%d-%d-%d %d:%d",yearVal,monthVal,dayVal,hourVal,minVal]];
[datePicker setDate:startDate];
[timePicker setDate:startDate];
Run Code Online (Sandbox Code Playgroud)

所以,yearVal,monthVal,dayVal,hourVal,minVal都是NSIntegers ...事实是,如果你的iPhone/iPod在你的时钟设置中使用24小时,它完全有效,但是,如果你使用12小时格式,它崩溃并显示此错误消息

> *** Assertion failure in -[UIDatePickerView _updateBitsForDate:forced:andReload:animateIfNeeded:], /SourceCache/UIKit/UIKit-1914.85/UIDatePicker.m:1200 2012-06-29
> 01:19:15.753 MyApp[1215:707] *** Terminating app due to uncaught
> exception 'NSInternalInconsistencyException', reason: 'Invalid
> parameter not satisfying: date'
> *** First throw call stack: (0x3710188f 0x34e06259 0x37101789 0x379403a3 0x31042807 0x30f616c5 0x30f61563 0x31042385 0xf48ef 0xf7bd3
> 0x30e0ec8b 0x30e1b1e9 0x30e1b059 0x30e1af3f 0x30e1a7c1 0x30e1a503
> 0x30e0eaff 0x30e0e7d5 0xdd945 …
Run Code Online (Sandbox Code Playgroud)

iphone xcode nsdate nsdateformatter ios

1
推荐指数
1
解决办法
9995
查看次数

标签 统计

ios ×1

iphone ×1

nsdate ×1

nsdateformatter ×1

xcode ×1