2012-04-16 8 views
0

私はNSTableViewを持っていて、の内容NSArrayControllerサブクラスのインスタンスにバインドするためにInterface Builderを使用しました。私はコントローラキーarrangedObjectsに設定しました。テーブルビューを辞書の配列にバインド

これまでのところは良い:私はちょうどaddObjects)を使用して(私のNSArrayControllerに文字列の配列をロードし、空白モデルキーパスを残す場合は、これらの文字列は、テーブルに表示

しかし、私が追加した場合各辞書はname性質を持っている、と私はnameモデルキーパスを設定し、テーブルがちょうどNは全体arrangedObjects配列N回、の文字列化バージョンを示していること、そのような私のNSArrayControllerへの辞書の配列、配列の長さ確かに、これはモデルキーパスnamefoo、またはブランクに設定されているかどうかに関係なく発生します。

NSTableViewには、各辞書のnameプロパティがarrangedObjectsに表示されます。私は間違って何をしていますか?

答えて

2

はそれを考え出した:前述NSTableView結合に加えないと、コントローラarrangedObjectsを有することS 「(無関係であることが判明)S コンテンツを、Iは該当NSTableColumnの結合のです」モデルキーパスnameに設定すると、すべて正常に動作しました。

+0

こんにちはTrevor、上記の問題と同じ問題が発生しています。私の場合、私は辞書の配列を持っています。 Binding Inspector - > Controllerの内容を使用して配列を配列コントローラーにバインドし、Bind toをクリックしてFileの所有者をポイントします。次に、NSTableColumnの「配列コントローラ」の値に行きました。コントローラキーは「arrangedObjects」と読み、モデルキーパスではnsdictionaryのキーである「Path」として設定します。最後にTableCellView内のNSTextFieldで、私はTableCellViewの値をobjectValueというモデルキーパスでバインドします。私はゴミを得る。私は何が起きているのか知りません。何か案は? – user2085689

+0

配列が単なる文字列だったらBtwはすべて動く。 – user2085689

+0

あなたはほぼ正しいです。最後に、NSTextFieldをTableCellViewの中にバインドしたと言っています(新しいXCodeバージョンでは、別のTable View Cell内にあるTable View Cellかもしれません)。モデルキーパスとして空のController Keyと "objectValue.Path"を選択して、その親(つまり、最終的なNSTextFIeldではなくTableCellView)をバインドしてみてください – Daladim

関連する問題