我一直在subclasslassing EKEvent
類有點麻煩。場景是這樣的,我使用web服務從外部數據庫中提取所有事件,所有事件都帶有一個ID。然後我想將這些事件放入設備日曆中,稍後再檢索它們。問題是,當我檢索事件時,我需要它與服務器上的事件具有相同的ID,所以我可以快速查找以獲取事件的其他信息。正確地繼承EKEvent類
我知道的EKEvent
的identifier
屬性爲只讀,所以我要創建的類的子類,我可以添加一個名爲東西一個附加屬性像myid
和存儲事件ID的原因(一從服務器)與它在事件庫中。我試圖創建一個子類,一切似乎正常工作和編譯,但在運行時我得到一個錯誤,當我嘗試設置額外的事件ID proporty我在子類中添加,該錯誤信息是:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[EKEvent setEventId:]: unrecognized selector sent to instance 0x83c0770'
這是一些測試代碼,我用它來從我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;
最後一行myEvent.eventId = self.eventId;
和應用程序崩潰時出現錯誤。所以我的問題essentailly,如果我可以有效地繼承EKEvent
類,如果是的話,我在這裏做錯了什麼?
在此先感謝!
這絕對是正確答案! – 2012-07-09 19:48:36
好吧,我想我會用SQLite解決方案。感謝您的解釋! – Sparq 2012-07-09 19:57:58
謝謝,應該清楚:) – 2015-11-05 08:51:21