0

CFGregorianDate (currentSelectDate) を NSDictionary に取得するにはどうすればよいですか?

以下のコードでこのエラーが発生します。

「CFGregorianDate」を互換性のないタイプ「id」のパラメータに送信しています

私のコード:

NSDictionary *userInfo = [NSDictionary dictionaryWithObject: currentSelectDate forKey:@"currentSelectDate"];
4

2 に答える 2

3

CFGregorianDate は基本的に C の構造体です。最初にバイトを保持する NSData インスタンスを作成します。

NSData *data = [NSData dataWithBytes:&currentSelectDate length:sizeof(CFGregorianDate)];

代わりにそれを辞書に入れます:

NSDictionary *userInfo = [NSDictionary dictionaryWithObject:data forKey:@"currentSelectDate"];

それを取得するには、再び呼び出される CFGregorianDate が割り当てられていると仮定します (この場合は、スタック上) currentSelectDate:

NSData *data = [userInfo objectForKey:@"currentSelectDate"];
[data getBytes:&currentSelectDate length:sizeof(CFGregorianDate)];

益々のご活躍をお祈り申し上げます。

于 2012-06-26T18:04:14.173 に答える
1

これは優れた解決策ではありませんが、簡単な修正が必要な場合は、グレゴリオ暦を文字列に入れ、それを辞書に入れてみませんか? データの各部分から個々の文字列を作成し、それらを辞書のさまざまなインデックスに格納することもできます。

于 2012-06-26T18:24:04.207 に答える