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)
例外コード: KERN_PROTECTION_FAILURE at 0x0000000000000015クラッシュした
スレッド: 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 に答える