2010-12-06 21 views
1

私はObjective-CとCocoaプログラミング(これは何年も前に他のプラットフォームで開発されたC/C++のバックグラウンドのものです)には初めてです。私は、リモートデータを繰り返し(すなわちX秒ごとに)ダウンロードし、それを解析し、それをNSArrayにソート/フィルタリングし、そのデータをNSTableViewに表示/更新するアプリケーションを作成しています。いくつかの本、Apple OS X Referenceの多くの資料を読んで実験したところ、NSTableViewを実際にデータで更新する以外はすべて(リモートデータのダウンロード、解析/フィルタロジック、メモリ内ストレージなど)を実装することができました。Interface Builderで作成されたNSTableViewにプログラムでアクセスするにはどうすればよいですか?

MVCのコンセプトに従ってアプリケーションをレイアウトするか、Interface Builderの実際のコード生成が不足しているだけで何かが分かっていないのか分かりませんが、私はできません。 Interface Builderで作成されたNSTableViewにプログラムでアクセス/操作する方法を決定するようです。

NSArrayベースのオブジェクトのNSObjectインスタンスをドラッグしようとしましたが、そこではNSTableViewのアウトレット/データソースに接続できますが、これはNSArrayベースのオブジェクトの別のインスタンスになります。 NSTableViewをプログラムで宣言されインスタンス化された既存のオブジェクトに接続します)。同様に、私はNSTableViewのデータソースをプログラムで設定することを考えましたが、どのようにしてプログラムで、.xib/.nibファイルに格納されているNSTableViewオブジェクトを、 Interface BuilderでNSTableViewのTag値を設定した後で、viewWithTag:メソッドを呼び出すオブジェクトを決定します。

ご意見、アドバイス、またはご指導をいただければ幸いです。これは非常にシンプルになるようなものだと感じています(一度私の前で働いたら、もっと意味をなさます)。しかし、私はちょっと出発点となる例はありません。

+1

あなたのクラスのヘッダファイルに 'IBOutlet NSTableView'がありますか? – BoltClock

+2

頭文字の作成、IBOutletsの割り当て、IBの実行、IBOutletsへのGUIのアタッチなど – KevinDTimm

+0

...または少なくとも読んでくださいはじめにAppleは無料で、developer.apple.comページから直接リンクしています。 –

答えて

2

テーブルのコントローラクラスのインスタンス変数をインタフェースビルダーのテーブルにアタッチする必要があります。あなたのクラスのテーブルを次のように宣言してください:

IBOutlet NSTableView* myTable; 

... 

@property (nonatomic, retain) IBOutlet NSTableView* myTable; 

そして、それを合成してください。

インターフェイスビルダーの情報ウィンドウの接続タブで、コントローラの新しいコンセントをテーブルに接続します。次に、ビューがXIBからロードされると、このコンセントが接続されます。

いくつか役に立っています。

+0

OK、クラスを更新して、 'IBOutlet NSTableView * myTable;'をインクルードし、同様に合成します。 Interface Builderでは、オブジェクトをドラッグして、そのクラスIDを自分のクラスに設定します。次に、オブジェクトのmyTableアウトレット - > NSTableViewから接続をドラッグしますか? これは私には同じ問題が残っていると思います...NSTableViewは現在接続されていますが、.xib/.nib(NSTableViewに表示したいデータが入っているプログラムでインスタンス化されたオブジェクトではありません)からインスタンス化されたオブジェクトに接続されていますか? – DAz

+0

別のXIBを使用している場合は、「ファイルの所有者」オブジェクトをクラスに設定し、コンセントをそこに接続する必要があります。 1つのXIBですべてを使用している場合は、すでにアクセスできるものの中にコンセントがあることを確認し、必要に応じてアウトレットの階層を作成します。この2番目のケースでは、最上位レベルがアプリデリゲートに含まれている可能性があります。 – slycrel

関連する問題