1

これは SO への私の最初の投稿なので、すぐに始めます。

私はカレンダー アプリケーションに取り組んでおり、EKEvents に新しい機能を追加する方法を見つけようとしています。EKEvent クラスは、キャストしてイベントストアに強制するとデータが失われるため、実際にはサブクラス化することを意図していないことを知るために十分な調査を行いました。

EventKit オブジェクトに新しい機能を追加する方法はありますか?

EKEventStore を EKEvent と一緒にサブクラス化して、それらが連携するようにすることはできますか? それとも、イベントへのポインターを新しいデータ (またはそれらの行に沿った何か) と共に格納する別のデータベースを作成する必要があるのでしょうか?

どんなアイデアでも大歓迎です!前もって感謝します!

4

1 に答える 1

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];

[/コード]

于 2012-12-01T23:59:51.950 に答える