Learn Swift / viva Cocoa / viva Cocoa


Learn Swift / 第30章  Currency Converter Bindings 3


このコーナーでは、Swift による、Mac OS X アプリケーションの作成方法を、説明しています。

2016年2月5日

home  目次  前へ  次へ  mail


Object Controller

 この章では、Currency Converter Bindings に、コントローラを追加します。ライブラリエリアから、ドキュメントアウトラインへ、「Object Controller」を、ドラッグ & ドロップしてください。この「Object Controller」が、Currency Converter Bindings のコントローラオブジェクトになります。


コントローラとモデルの接続

 ドキュメントアウトラインで「Object Controller」を右クリックしながらドラッグして、「Converter」へ接続線を伸ばし、接続してください。接続は、control + 左クリックでドラッグしてもできます。

 現れるパネルで「content」を選択してください。これで、コントローラとモデルの接続は完了です。


コントローラとビューの接続

 ストーリーボードで一番上のテキストフィールドを選択してください。次に、インスペクタエリアで右から二番目のバインディングインスペクタ (Bindings inspector) を選びます。そして、Bind to で「Object Controller」を選んでチェックを入れてください。続けて、Controller Key を「selection」にして、Model Key Path に「exchangeRate」と入力します。そして最後に、必ずエンターキーを押して入力を確定させてください。入力を確定させないとアプリケーションが正しく動作しません。これで、一番目のテキストフィールドとモデルクラスの「exchangeRate」プロパティが、「Object Controller」を介して結ばれたことになります。

 ストーリーボードで二番目のテキストフィールドを選択してください。次に、インスペクタエリアで右から二番目のバインディングインスペクタ (Bindings inspector) を選びます。そして、Bind to で「Object Controller」を選んでチェックを入れてください。続けて、Controller Key を「selection」にして、Model Key Path に「dollarsToConvert」と入力します。そして最後に、必ずエンターキーを押して入力を確定させてください。入力を確定させないとアプリケーションが正しく動作しません。これで、二番目のテキストフィールドとモデルクラスの「dollarsToConvert」プロパティが、「Object Controller」を介して結ばれたことになります。

 ストーリーボードで三番目のテキストフィールドを選択してください。次に、インスペクタエリアで右から二番目のバインディングインスペクタ (Bindings inspector) を選びます。そして、Bind to で「Object Controller」を選んでチェックを入れてください。続けて、Controller Key を「selection」にして、Model Key Path に「amountInOtherCurrency」と入力します。そして最後に、必ずエンターキーを押して入力を確定させてください。入力を確定させないとアプリケーションが正しく動作しません。これで、三番目のテキストフィールドとモデルクラスの「amountInOtherCurrency」メソッドが、「Object Controller」を介して結ばれたことになります。


Currency Converter Bindings

 これで、Currency Converter Bindings は完成です。実行ボタクをクリックしてください。表示されたウィンドウで、Exchange Rate に「120」(1ドル120円という意味) と入力してタブキーを押します。そして Dollars to Converter に「100」(100ドルという意味) と入力してタブキーを押すと、Amount in Other Currency に「12,000,00」(12000円という意味) と表示されます。色々と値を変えて試してみてください。


お疲れ様でした。

 次章で何をするかは、未定です。


home  目次  前へ  次へ  mail


無断転載禁止
Copyright 2016. vivacocoa.jp All right reserved.