首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSKeyedUnarchiver unarchiveObjectWithData转换问题

NSKeyedUnarchiver unarchiveObjectWithData转换问题
EN

Stack Overflow用户
提问于 2012-05-15 06:53:02
回答 2查看 1.1K关注 0票数 1

我使用以下代码将NSArray EKEvent转换为NSData,转换后的NSDataunarchiveObjectWithDataNSArray。在转换过程中,对象将被更改,并保存null值。

为什么它会显示NULL.(参见输出)。谁知道解决办法让我知道。提前谢谢。

我写的代码,

代码语言:javascript
复制
NSArray *events = [[self.eventStore eventsMatchingPredicate:predicate]retain];

NSData *arrayData = [NSKeyedArchiver archivedDataWithRootObject:events];

NSArray *array = [NSKeyedUnarchiver unarchiveObjectWithData:arrayData];

输出是

事件:( "EKEvent <0x4ad840> {EKEvent <0x4ad840> {title = Checking with Calendar;日历= EKCalendar <0x4bf2f0> {title = Calendar;type = Local;account = (null);allowsModify = YES;color = 0.443137 0.101961 0.462745 1.000000};警报= (\n ] <0x4be630> {triggerInterval = -300.000000}\"\n);URL = (null);lastModified =2012-05-1412: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);日历= (null);警报= (null);URL = (null);lastModified = (null)};位置= (null);startDate = (null);endDate = (null);allDay = 0;浮点数= 1;递归=(空);与会者=(空)}“)

EN

回答 2

Stack Overflow用户

发布于 2012-06-13 04:56:18

最后,通过创建自定义的EKEvent类并获取每个值,如title、startdate、enddate到NSCoding来解决问题。那它就能正常工作。

票数 1
EN

Stack Overflow用户

发布于 2012-05-15 12:42:05

虽然NSArray确认了NSCoding协议,但EKEvent没有。您没有看到运行代码的异常,这有点令人惊讶,类必须向NSCoding确认归档才能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10595567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档