私はMacRubyとCocoaの完全なn00bですので、答えるときはそのことを覚えておいてください。 :)MacRuby + Interface Builder:ウィンドウを表示して閉じてから再び表示する方法
2つのウィンドウがあり、どちらもInterface Builderで構築された単純なプロジェクトをセットアップしました。最初のウィンドウは、テーブルビューを使用するアカウントの単純なリストです。テーブルの下に "+"ボタンがあります。 +ボタンをクリックすると、「新しいアカウントの追加」ウィンドウが表示されます。
AccountsController < NSWindowController
とAddNewAccountController < NSWindowController
クラスもあり、これらのウィンドウの代理人として設定され、適切なボタンクリックメソッドが組み込まれていて、必要なウィンドウを参照するコンセントがあります。これが最初の時間を素晴らしい作品
@add_account.center
@add_account.display
@add_account.makeKeyAndOrderFront(nil)
@add_account.orderFrontRegardless
私は+ボタンをクリックしてください:私はアカウントのウィンドウ内の「+」ボタンをクリックすると
は、私はこのコードの火を持っています。すべてが表示され、データを入力してモデルにバインドすることができます。しかし、私が新しいアカウントのフォームを閉じると、状況が悪くなり始めます。新しいアカウントの追加ウィンドウを閉じると設定した場合、もう一度+ボタンをクリックするとウィンドウはポップアップしますが、フリーズします。ボタンをクリックしたり、データを入力したり、フォームを閉じたりすることはできません。私はこれがフォームのコードがリリースされているので、フォームを処理しているメッセージループがないと仮定します...しかし、私はこれについて完全にはわかりません。
新しいアカウントの追加ウィンドウを閉じるときに解放しないで、もう一度+ボタンをクリックすると、ウィンドウが表示され、使用可能になります - しかし、以前入力したすべてのデータ...それは私の以前のAccountクラスのインスタンスにバインドされています。
何が間違っていますか?アカウントのフォームで+ボタンをクリックすると、新しいアカウントの追加フォームの新しいインスタンスを作成し、新しいアカウントのモデルを作成し、そのモデルをフォームにバインドしてフォームを表示する正しい方法は何ですか?
...これはOSX 10.6.6、64ビットで行われているすべての、XCodeの3.2.4と
コントローラ(ボタン/テキストエリア)に他の要素を接続しましたか?私はコントローラのメッセージにnsobjectsドロップダウンメニューを表示するチュートリアルに続いて問題が発生しました –