2012-05-02 22 views
1

選択されたNSTableViewのデータを取得すると、選択した行が取得され、データソースの同じ位置にある項目と比較されます。NSTableViewからデータを読み取る

しかし、私は別のXMLファイルからデータを読み込み、画面上で行われ、特定の選択に応じて表示しています。

ユーザーがNSTableViewから直接選択したデータを取得したいと考えています。

は、私は、これはMVCモデルとすべてのことに反することを知っているが、私は答えまたはこれを行う方法のいくつかのヒントをいただければ幸いです。

+0

私は解決策が見つからない場合は、私は別のクラスを作成し、新しいオブジェクトを追加するときに、クラスのインスタンスを持っているし、次に読み込むときに、この新しいクラスを使用するつもりです。最終的にはより良いモデルになるでしょう。 しかし、NSTableViewから直接読み取る方法があるかどうかは知りたいです。ありがとう。 – Kevin

+0

テーブルビューには、データの内部キャッシュがありません。データソース***はそのキャッシュです。それは全体のポイントです。データソースからデータを取得する必要があります。ただし、それを行うことに問題はありません: '[[tableView dataSource] tableView:tableView objectValueForTableColumn:列の行:theRow]'。 –

+0

ありがとう、それはたくさんの意味があり、うまくいきます。正式な(単一の)ものが定義されていなくても、言語がデータソースを把握していたことを知らなかった。 あなたは、私は、このような:) どうもありがとうとしてそれをマークすることができます答えとしてあなたの応答を配置したい場合は! – Kevin

答えて

1

テーブルビューには、データの内部キャッシュがありません。データソースはそのキャッシュです。それは全体のポイントです。データソースからデータを取得する必要があります。ただし、それを行うには問題はありません:[[tableView dataSource] tableView:tableView objectValueForTableColumn:theColumn row:theRow]。しかし

、あなたは何を意味するかあなたは?「は正式な(シングル)1が定義されていなかった場合でも、データソースを追跡するの世話をした[それ]ことを知らなかった」と言いますかデータソースを設定するのではなく、バインディングを使用しているということですか?その場合、私はこの手法を使用しません。この場合のデータソースの存在は実装の詳細になります。バインディングの場合は、アレイコントローラに直接アクセスする必要があります。

+0

いいえ、私はバインディングを使用していません。私が言っていたことは、XMLファイルからデータを取り出してテーブルビューに直接入れたように、私は公式なデータソースを設定していないということでした。 XMLファイルがデータソースとして機能するようになったので、私の一部ではちょっと混乱していました。ご回答有難うございます。 – Kevin

関連する問題