Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 将区域格式设置为“台湾日历”的setDatePickerMode调用为日语时发生UIDatePicker异常_Iphone_Objective C_Ios4_Uidatepicker - Fatal编程技术网

Iphone 将区域格式设置为“台湾日历”的setDatePickerMode调用为日语时发生UIDatePicker异常

Iphone 将区域格式设置为“台湾日历”的setDatePickerMode调用为日语时发生UIDatePicker异常,iphone,objective-c,ios4,uidatepicker,Iphone,Objective C,Ios4,Uidatepicker,我们使用标准的UIDatePicker视图允许用户使用picker设置倒计时持续时间。代码如下: //in the header file UIDatePicker *pickerView; //in the implementation file, the error is thrown when this line executes [self.pickerView setDatePickerMode:UIDatePickerModeCountDownTimer]; 这在大多数情况下都可

我们使用标准的UIDatePicker视图允许用户使用picker设置倒计时持续时间。代码如下:

//in the header file
UIDatePicker *pickerView;

//in the implementation file, the error is thrown when this line executes
[self.pickerView setDatePickerMode:UIDatePickerModeCountDownTimer];
这在大多数情况下都可以正常工作,但是我们有一个用户将其区域格式设置为Taiwan,日历设置为Japanese。然后出现以下异常:

2011-05-08 21:38:13.701 AppName[6418:207]*断言 在-[UIDatePickerView]中失败 _updateRowInColumn:toValue:withRepeatingAmount:element:animated:], /SourceCache/UIKit_Sim/UIKit-1447.6.4/UIDatePicker.m:1499 2011-05-08 21:38:13.703 AppName[6418:207]终止应用程序 由于未捕获的异常 “NSInternalInconsistencyException”, 理由:“哇!行数太多,无法读取 栏目:1' **第一次抛出时调用堆栈:(0 CoreFoundation
0x00fa3be9例外预处理+185 1 libobjc.A.dylib
0x010f85c2 objc_异常_抛出+47 2核心基金会
0x00f5c628+[N异常 raise:格式:arguments:+136 3
基金会
0x000d447b-[NSAssertionHandler handleFailureInMethod:对象:文件:行号:说明:] +116 4 UIKit 0x004b1e4e-[UIDatePickerView _updateRowInColumn:toValue:withRepeatingAmount:element:animated:] +695 5 UIKit 0x004b5254-[UIDatePickerView _loadDateAnimated::+1012

是否有人有过上述错误的经验或如何解决此问题?此组件的公历与非公历操作似乎存在问题。据我所知,如果未提供默认设置,该组件将采用用户的设置:

从UIDatePicker.h:

@property(nonatomic,retain) NSLocale      *locale;                // default is nil. use current locale or locale from calendar
@property(nonatomic,retain) NSTimeZone    *timeZone;              // default is nil. use current time zone or time zone from calendar
@property(nonatomic,copy)   NSCalendar    *calendar;              // default is [NSCalendar currentCalendar]. setting nil returns to default

您是否为实例变量pickerView创建了属性?因为您在问题中没有提到它,我想知道您如何在不创建@property(非原子,保留)这样的属性的情况下访问pickerView的setter方法UIDatePicker*pickerView;

这是以前的一个bug,现在随着iOS 5的发布而得到解决。

我们已经向Apple提出了这个bug,并将在收到响应后在线程中添加一个答案。如果我试图传递一个非常错误的日期时出现了这个错误,如果我们的头文件中没有上面的内容,代码将被删除不编译。(还要注意,该代码适用于大多数情况,但不适用于这些特定的区域格式和日历配置)。我在上面的示例中添加变量类型的原因是为了明确代码中的pickerView。该错误已在Apple的错误报告过程中提交。