小编Spa*_*arq的帖子

正确地继承EKEvent类

我一直在给EKEvent类子类化带来一些麻烦.方案是这样的,我使用Web服务从外部数据库中提取所有事件,因此所有事件都带有ID.然后,我想将这些事件放入设备日历中,然后再检索它们.问题是,当我检索事件时,我需要它与服务器上的事件具有相同的ID,因此我可以快速查找以获取有关该事件的其他信息.

我知道identifier属性EKEvent是只读的,因此我想创建类的子类,我可以在其中添加一个名为like的附加属性myid,并将事件的id(来自服务器的id)存储在其中eventstore.我试图创建一个子类,一切似乎工作正常并编译,但在运行时我得到一个错误,当我尝试设置我在子类中添加的额外的eventid比例,错误消息是:

 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[EKEvent setEventId:]: unrecognized selector sent to instance 0x83c0770'
Run Code Online (Sandbox Code Playgroud)

这是我用来从我的EKEvent子类创建事件的一些测试代码:

 SectureEvent *myEvent  = (SectureEvent*)[EKEvent eventWithEventStore:eventDB];
 myEvent.title     = self.evento;
 myEvent.startDate = [[NSDate alloc] init];
 myEvent.startDate = [NSDate date];
 myEvent.endDate   = [[NSDate alloc] init];
 myEvent.endDate   = [[NSDate alloc] init];
 myEvent.allDay = YES;
 myEvent.eventId = self.eventId;
Run Code Online (Sandbox Code Playgroud)

错误发生在最后一行myEvent.eventId = self.eventId; ,应用程序崩溃.所以,如果我可以有效地将EKEvent类子类化,那么我的问题就是如此,如果是的话,我在这里做错了什么?

提前致谢!

iphone objective-c ios4 ios eventkit

1
推荐指数
1
解决办法
1692
查看次数

标签 统计

eventkit ×1

ios ×1

ios4 ×1

iphone ×1

objective-c ×1