MutableDictionaryやMutableArrayをコーディングして、このようなことを行う方法がわかりません。
ここでは辞書はまったく役に立たない。
テーブルにリストしたいものをモデル化するオブジェクトを作成する必要があります。各行は、これらのオブジェクトの1つに対応しており、おそらく配列に保持されます。列は、モデルオブジェクトのプロパティに対応しています。
最も一般的な図は、人(従業員など)のリストです。テーブルビューの各行には、1つのPersonオブジェクトが表示されます。各列には、そのオブジェクトの1つのプロパティ(名、姓、おそらく会社名、電話番号など)が表示されます。バインディングとテーブルビューデータソースプロトコルはどちらも、この方法で最適に(つまり、最も簡単に)機能するように設計されています。
モデルオブジェクトの実装を引き継いで、並列配列などを作成したくなるかもしれません。データソースを使用している限り、これを行うことができますが、このトラップに陥らないでください。後でバインディングに切り替えることができなくなり、プロパティがAppleScriptに公開されます(3つの配列を表示することはできません)。 1つのプロパティのように)不可能であり、単一のテーブルビューを超えてUIを開発することははるかに困難になります。
CocoaはModel-View-Controllerを中心に設計されています; モデルを提供することでそれを操作すると、Cocoaのすべてがはるかに簡単になります。
(いいえ、辞書はモデルオブジェクトとしては十分ではありません。AppleScriptやBindingsには役立ちません。また、単純なキーのボックスよりもスマートにモデルオブジェクトを作成したい場合はいつでも失敗します-値のプロパティ。派生プロパティ、動作、およびカスタム初期化子はすべて、辞書に実装した場合、せいぜい醜いハックです。)