1

我在 viewDidLoad 中初始化一个 NSCalendar,如下所示:

gregorian = [NSCalendar currentCalendar];

日历在相应的 .h 文件中声明,如下所示:

NSCalendar *gregorian;

从我的应用程序崩溃的方法访问日历时:

- (void)someMethod{
  unsigned int unitFlags;
  unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit;
  [gregorian 
    components:unitFlags 
    fromDate:[NSDate date] 
    toDate:[NSDate date] 
    options:0];
}

这似乎与崩溃日志相关:

异常类型:EXC_BAD_ACCESS (SIGBUS)
异常代码:0x0000000000000015 处的 KERN_PROTECTION_FAILURE 崩溃
线程:0 调度队列:com.apple.main-thread

应用程序特定信息:
objc_msgSend() 选择器名称:components:fromDate:toDate:options:
iPhone Simulator 225, iPhone OS 3.2 (iPad/7W367a)

有任何想法吗 ?

谢谢

4

1 回答 1

0

将日历分配给“gregorian”时,您没有保留日历,因此在您访问它时它已经消失了。

于 2010-09-22T11:22:54.200 回答