私は周りを見回していて、VDKQueueはUKKQueueのより新しいバージョンのように見えますが、それを実装するのに問題があります(私はまだCocoaが得意ではありません)。私はこれまでにこれを持っていますが、他に何が必要か(またはこれが正しいかどうか)について少し途方に暮れています:
VDKQueue *kqueue = [[VDKQueue alloc] init];
[kqueue addPath:path notifyingAbout:VDKQueueNotifyAboutWrite];
[kqueue setDelegate:self];
この答えは、それを設定する方法をうまく概説しているようです、私はそれを本当に理解していません。VDKQueueを初期化したので、ファイルが変更されたときに何が起こるかを設定するにはどうすればよいですか?
他の答えから:
実装は非常に簡単でした。
- コントローラーを
VDKQueueDelegate
;にします。<VDKQueueDelegate>
( AppDelegate.hに追加しました)VDKQueue*
ivar/プロパティを宣言します。(これVDKQueue *kqueue = [[VDKQueue alloc] init];
ですか?)- デリゲートメソッドの設定
VDKQueue:receivedNotification:forPath:
; (どうすればこれを行うことができますか?)- キューを初期化し、そのデリゲートをコントローラー自体に設定します。(これはこれ
[kqueue setDelegate:self]
ですか;?)- で監視するリソースを追加し
addPath:notifyingAbout:
ます。(この行を追加しました[kqueue addPath:path notifyingAbout:VDKQueueNotifyAboutWrite];
)次に、デリゲートメソッドでビジネスを行います。
おそらくコードからのデリゲートメソッド?
//
// Or, instead of subscribing to notifications, you can specify a delegate and implement this method to respond to kQueue events.
// Note the required statement! For speed, this class does not check to make sure the delegate implements this method. (When I say "required" I mean it!)
//
@class VDKQueue;
@protocol VDKQueueDelegate <NSObject>
@required
-(void) VDKQueue:(VDKQueue *)queue receivedNotification:(NSString*)noteName forPath:(NSString*)fpath;
@end