Learn Swift / 第29章 Currency Converter Bindings 2
このコーナーでは、Swift による、Mac OS X アプリケーションの作成方法を、説明しています。
Converter クラス
この章では、Currency Converter Bindings のモデルクラスとなる、Converter クラスを作成します。ナビゲータエリアで「Currency Converter Bindings」フォルダを選択して、「File」メニューから「New」→「File...」を選んでください。
次のパネルで「Cocoa Class」を選んで、Next をクリックします。
次のパネルで Class を「Converter」とし、Subclss of: で「NSObject」を選び、Language: で「Swift」を選びます。
次のパネルでは、そのまま「Create」をクリックしてください。
ナビゲータエリアに Converter.swift が追加されます。追加された Converter.swift を選択すると、エディタエリアに Converter.swift のコードが表示されます。
Converter.swift
Converter.swift に、次のリストのコードを記述してください。太字部分が追加するコードです。なお冒頭のコメント部分は省略しています。
import Cocoa class Converter: NSObject { dynamic var exchangeRate:Double = 0.0 dynamic var dollarsToConvert:Double = 0.0 func amountInOtherCurrency() ->Double { return exchangeRate * dollarsToConvert } override class func keyPathsForValuesAffectingValueForKey(key: String) -> Set<String> { if key == "amountInOtherCurrency" { return Set<String>(arrayLiteral: "exchangeRate", "dollarsToConvert") } else { return super.keyPathsForValuesAffectingValueForKey(key) } } }
このコードの中には、「exchangeRate」「dollarsToConvert」「amountInOtherCurrency」などの、長いプロパティ名やメソッド名が登場しています。これらのプロパティ名やメソッド名は、コピー & ペーストして記述することをお勧めします。うっかり間違うと、アプリケーションが、正しく動作しません。
Converter オブジェクト
ライブラリエリアから「Object」を、ドキュメントアウトラインへドラッグ & ドロップしてください。
ドキュメントアウトラインで「Object」を選択し、プロジェクト画面の右上のインスペクタエリアで、左からの三番目のアイデンティティインスペクタ (Identity inspector) を選びます。そして、Class で「Converter」を選んでください。ドキュメントアウトラインの「Object」が、「Converter」に変わります。
これで、ストーリーボードにモデルオブジェクトが追加されました。これまでは、コントローラクラスにコードを記述することによって、コントローラがモデルオブジェクトを認識できるようにしていました。しかしここでは、コントローラにコードを記述するのではなく、コントローラとモデルをドラッグ & ドロップで接続することによって、コントローラがモデルオブジェクトを認識するようにします。そのために、モデルオブジェクトをストーリボードに追加しました。
お疲れ様でした。
次章では、コントローラオブジェクトを、ストーリーボードに追加します。
無断転載禁止 Copyright 2016. vivacocoa.jp All right reserved.