2012-03-14 20 views
1

免責事項:私はObjectiveCが本当に新しいので、私のアプリの構造に根本的な誤りがあるかもしれないので、私の目標を達成するためのよりよい方法があれば教えてください。NSView以外の通知を受け取るにはどうすればよいですか?

私はDropboxのようなステータスバーに座っているアプリを作ろうとしています。通知を受け取る必要があります。今は通知がありますが、アプリケーションのウィンドウにあるNSViewに実装しました。ウィンドウなしのアプリケーション(Dropbox)を実現できるように、ウィンドウを削除したい。ウィンドウを削除すると、作成したビューが削除され、アプリケーションの通知を受け取る機能が削除されます。

#import "test.h"  
@implementation test 

- (id) initWithFrame:(NSRect)frameRect 
{ 
    self = [super initWithFrame:frameRect]; 
    ... 
    [[[NSWorkspace sharedWorkspace] notificationCenter] addObserver:self selector:@selector(windowChangeNotification:) name:NSWorkspaceDidActivateApplicationNotification object:nil]; 
    return self; 
} 

- (void)windowChangeNotification:(NSNotification *)note 
{ 
    ... 
} 

を、テストはNSViewのです::ちょうど私が悪いこれを説明していた場合に

、私が受けてるの通知は、次のように受信されている

@interface appTracker : NSView { 
    appTrackerDB * eventDB; 
} 

がどのように通知を受け取ることができます窓なしで?または、表示なしで通知を受け取る方法はありますか?

追加情報:thisチュートリアルと同様に、ステータスバーのUIコンポーネントをNSMenuとして実装しています。

私は確かにそこにあると確信していますが、私は文学に迷ってしまいました。

ありがとうございました!

答えて

0

Objective-Cのすべてのオブジェクトは通知を受け取ることができるので、このコードをAppDelegateに投げるか、適切なモデルクラスを見つけることができます。

(ところで:クラス名は、慣例によりにObjCで大文字で始まる)

+0

[OK]を私は、最初はわからなかったが、私はいくつかのことを周りにプレイした後、私はそれを考え出しました。あなたは私を正しい方向に押し込んだ。ありがとう! – user1267383

関連する問題