次のコードを使用してに変換NSArray
EKEvent
していますがNSData
、変換されたのNSData
はunarchiveObjectWithData
toNSArray
です。変換中にオブジェクトが変更され、null
値が保持されます。
なぜ表示さ れるのNULL
ですか?(出力を参照してください)。解決策を知っている人は教えてください。前もって感謝します。
私が書いたコード、
NSArray *events = [[self.eventStore eventsMatchingPredicate:predicate]retain];
NSData *arrayData = [NSKeyedArchiver archivedDataWithRootObject:events];
NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:arrayData];
出力は
events : ( "EKEvent <0x4ad840> {EKEvent <0x4ad840> {title =カレンダーで確認中 ; calendar = EKCalendar <0x4bf2f0> {title = カレンダー; type = Local; account = (null); allowModify = YES; color = 0.443137 0.101961 0.462745 1.000000}; アラーム = (\n \"EKAlarm <0x4be630> {triggerInterval = -300.000000}\"\n); URL = (null); lastModified = 2012-05-14 12:15:32 +0000}; 場所 = (null); startDate = 2012-05-11 01:30:00 +0000; endDate = 2012-05-19 17:30:00 +0000; allDay = 0; 変動 = 0; 繰り返し = (null); 出席者 = (null)}")
配列: ("EKEvent <0x4c1e60> {EKEvent <0x4c1e60> {title = ( null); カレンダー = (ヌル); アラーム = (ヌル); URL = (ヌル); lastModified = (null)}; 場所 = (ヌル); 開始日 = (null); 終了日 = (null); すべての日 = 0; フローティング = 1; 再発 = (ヌル); 出席者 = (null)}" )