Learn Swift / viva Cocoa / viva Cocoa


Learn Swift / 第28章  Currency Converter Bindings 1


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

2016年2月4日

home  目次  前へ  次へ  mail


Cocoa バインディング

 Cocoa バインディグ (Cocoa Bindings) は、Mac OS X プログラミングのみで使える技術です。iOS プログラミングでは使えません。

 通常、Mac OS X のアプリケーションは、MVC (model-view-controller、モデルビューコントローラ) というデザインパターン (design pattern、設計様式) に従って作成されます。しかし、そのなかで、コントローラには、グルーコード (glue code、糊付けコード) というものが多数存在します。

 グルーコードとは、ビューとモデルとつなぐ糊として書かれたコードです。コントローラは、通常、ビューとモデルをつなぐものですから、この状態は仕方のないことだと言えます。しかし一方で、そんな決まり切ったコードを、わざわざプログラマが書く必要があるのか、という考え方もあります。また、コントローラは、グルーコードで糊だらけになってしまうので、他で再利用することもできなくなります。そこで、Apple は、再利用可能な、汎用のコントローラクラスをいくつか用意することにしました。この汎用のコントローラは、ボタンやラベルのように、ストーリーボードや、あるいは xib 上で、ドラッグ & ドロップすることによって、アプリケーションに追加することができます。この技術のことを総して、Cocoa バインディングといいます。

 と、ここまでは夢のような話しですが、その設定の方法は案外と難しく、慣れるのには結構労力が必要す。しかし、配列や辞書などで、大量のデータを扱いはじめると、Cocoa バインディングはその威力を発揮します。

 ここでは、前章までで作成した、Currency Converter を、Cocoa バインディングを使って、作り直します。


Currency Converter Bindings

 Xcode を起動して、Cocoa Application の新規プロジェクトを作ってください。Product Name は「Currency Converter Bindings」にします。「Use Storyboards」にはチェックを入れてください。そして、ストーリボードで、Text Field を三つと Labl を三つを使って、次の図のようなインターフェース (ビュー) を作ってください。今回は Button は使いません。インターフェースの作成方法がわからない場合は、 第20章  Currency Converter を参考にしてください。なお、テキストフィールドの Width は「149」にします。そして一番下のテキストフィールドの Behavior は「Selectable」にしてください。すべてをガイドラインに合わせて作成すると、View のサイズは、Width「360」、Height「126」で、ちょうど良い大きさになります。


Number Formatter

 ライブラリエリアから、Number Formatter を、テキストフィールドにドラッグ & ドロップしてください。

 ドキュメントアウトラインで、配置した Number Formatter を選択してください。

 アトリビュートインスペクタで Behavior を「OS X 10.0+」を選択して、Presets で「9,999.99」を選択します。この作業を三回繰り返して、すべてのテキストフィールドにナンバーフォーマッタを設定してください。

Presets では、「9,999.99」を選択する前に、他の行、例えば「$ 9,999,99」などを先に選択してから、「9,999.99」を選択するようにしてください。そうしなければ、正しく選択されない場合があります。


お疲れ様でした。

 次章では、Currency Converter Bindings のモデルクラスを作成します。


home  目次  前へ  次へ  mail


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