这是我发给SO的第一篇文章,所以我会正确的。
我正在开发一个日历应用程序,我正在试图弄清楚如何向EKEvents添加新功能。我做了足够的研究,知道EKEvent类并不是真正意义上的子类,因为如果强制转换并强制进入eventstore,它将丢失任何数据。
有没有办法完成向EventKit对象添加新功能?
也许能够将EKEventStore与EKEvent一起子类化,以便它们一起工作? 或者你可能只需要创建一个单独的数据库,它可以存储指向事件的指针以及任何新数据(或者这些行中的某些内容)?
非常感谢任何想法! 提前谢谢!
答案 0 :(得分:0)
当您想要扩展其功能时,您不必在Objective-C中创建子类。
如果要向EventKit类添加方法,则应使用类别。 一个例子是:
[代码]
//BaseClass+MyMethod.h
#import "BaseClass.h"
@interface BaseClass (MyMethod)
- (void) myMethodImplementation;
@end
//BaseClass+MyMethod.m
#import "BaseClass+MyMethod.h"
@implementation BaseClass (MyMethod)
- (void) myMethodImplementation { }
@end
//In Your Code Somewhere
BaseClass *object = [[BaseClass alloc] init];
[object myMethodImplementation];
[/代码]