私のアプリケーションには、単一のnibファイルがあります。 File's Owner
はNSViewController
であり、内部には自分のクラスの1つのプロパティにバインドしたい垂直スライダーだけがあります。 (私はそれがステータスバーアプリケーションなので、私は他のnibファイルを持っていないので、私はウィンドウがありません)。ペン先にランタイムがロードされ、NSMenuItem
のカスタムビューが作成されます。NSViewControllerとバインディング
問題は、オブジェクトコントローラを使用してバインディングを実行したいが、オブジェクトコントローラの内容がわからないということです。プロジェクトのペン先から任意のクラスにアクセスするにはどうすればよいですか?
私が見た例では、通常、オブジェクトコントローラはFile's Owner
を使用して、コンテンツオブジェクトのバインディングをファイルの所有者に設定するクラス(およびバインディングのプロパティ)にアクセスします。しかし私の場合、File's Ownerからはクラスにアクセスできません。
任意のポインタ?
実際、バインディングを使用して、コンセントやアクションなしでそれを実行したいと考えています。私はこの非常に興味深い[投稿](http://crazyviraj.blogspot.com/2009/05/cocoa-what-is-files-owner-in-nib.html)を見つけました。より良い解決策は、NSViewControllerをサブクラス化し、File's Ownerを使用してバインドすることです。 – Carlo
私は見て、あなたは正しいです。その場合、私の「解決策」はうまくいかないでしょう!あなたのソリューションはうまくいくようです。しかし、私はあなたがなぜサブクラスを好むのか不思議ですが、アウトレットとアクションを使用しないでください。 – markjs
私のプログラムでは、垂直スライダをボリュームプロパティに接続する必要があります。私はバインディングの使用が最も正しい方法だと考えています(もちろん、アウトレットとアクションを使用することも可能です)。 – Carlo