選択されたNSTableViewのデータを取得する場合、選択された行を取得し、それをデータソースの同じ位置にあるアイテムと比較します。
ただし、さまざまなXMLファイルからデータを読み取り、画面上で行われた特定の選択に従ってデータを表示しています。
ユーザーが選択したデータをNSTableViewから直接取得したいと思います。
これはMVCモデルなどに反することは知っていますが、これを行う方法についての回答またはヒントをいただければ幸いです。
選択されたNSTableViewのデータを取得する場合、選択された行を取得し、それをデータソースの同じ位置にあるアイテムと比較します。
ただし、さまざまなXMLファイルからデータを読み取り、画面上で行われた特定の選択に従ってデータを表示しています。
ユーザーが選択したデータをNSTableViewから直接取得したいと思います。
これはMVCモデルなどに反することは知っていますが、これを行う方法についての回答またはヒントをいただければ幸いです。
テーブルビューには、データの内部キャッシュがありません。データソースはそのキャッシュです。それが要点です。データソースからデータを取得する必要があります。ただし、これを行うのに問題はないはずです[[tableView dataSource] tableView:tableView objectValueForTableColumn:theColumn row:theRow]
。
しかし、「正式な(単一の)データソースが定義されていなくても、データソースの追跡を処理していることを知らなかった」とはどういう意味ですか?データソースを設定するのではなく、バインディングを使用しているということですか?その場合、私はこのテクニックを使用しません。その場合のデータソースの存在は、実装の詳細になります。バインディングの場合は、アレイコントローラーに直接アクセスする必要があります。