2012-12-01 243 views
1

這是我的第一篇文章,所以我會盡力去做。擴展EventKit功能

我正在處理日曆應用程序,並試圖找出如何向EKEvents添加新功能。我已經做了足夠的研究,知道EKEvent類並不是真正意義上的子類,因爲如果投射並強制進入事件庫,它將會丟失任何數據。

有什麼方法可以完成向EventKit對象添加新功能嗎?

也許能夠將EKEventStore和EKEvent一起繼承以便它們一起工作? 或者你可能只需要創建一個單獨的數據庫來存儲指向這些事件的指針以及任何新的數據(或者這些行中的內容)?

任何想法非常感謝! 在此先感謝!

回答

0

當您想要擴展它的功能時,您不必在Objective-C中創建子類。

如果你想添加一個方法到EventKit類,你應該使用類別。 一個例子是:

  1. 創建一個名爲BaseClass的+ Category.h和BaseClass的+ Category.m一個新的Objective-C的.h和.m文件
  2. 他們實現你的方法
  3. 使用方法任何地方,你有一個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]; 

[/代碼]

+0

這正是我所期待的。非常感謝您的快速和有益的迴應! – user1869469