Learn Swift / viva Cocoa / viva Cocoa


Learn Swift / 第25章  Currency Converter 6


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

2016年2月1日

home  目次  前へ  次へ  mail


ビューとコードの接続

 この章では、原文と大きく違う、説明をしています。

 ビューとコードの接続には、次の二つの種類があります。

アウトレット (outlet、出口)
コードからビューへ、指令を出すための接続
アクション (action、動作)
ビューからコードへ、指令を出すための接続


アウトレットの接続

 ナビゲータエリアで、Main.storyboard を選択して、エディタエリアにストーリーボードを表示してください。そして、次の図のマウスポインターの位置を参考にして、アシスタントエディタ (Assistant editor) ボタンをクリックしてください。

 エディタエリアの画面が、次の図のように、二つに分割されます。もし、表示されているコードが NSApplication.h だったら、ツールバーの「NSApplication.h」という文字列をクリックして、ViewController.swift に変更してください。

 ビューとコード (ViewController.swift) をアウトレットで接続します。ストーリーボードの一番上のテキストフィールドを、control キーを押しながらドラッグすると、次の図のように、接続線が現れます。ViewControler.swift の「class ViewController: NSViewController {」という行の、次の行でドロップしてください。なお、control キーを押す代わりに、右クリックしなたらドラッグしても、接続線が現れます。

 表示される、コネクションパネルで、Name を「rateField」に設定して、「Connect」ボタンをクリックしてください。ViewController.swift に、@IBOutlet weak var rateField: NSTextField! というコードが、自動的に挿入されます。

 上記の要領で、二番目のテキストフィールドと、ViewController.swift をアウトレットで接続してください。

 表示される、コネクションパネルで、Name を「dollarField」に設定して、「Connect」ボタンをクリックします。ViewController.swift に、@IBOutlet weak var dollarField: NSTextField! というコードが、自動的に挿入されます。

 三番目のテキストフィールドと、ViewController.swift をアウトレットで接続してください。

 表示される、コネクションパネルで、Name を「amountField」に設定して、「Connect」ボタンをクリックします。ViewController.swift に、@IBOutlet weak var amountField: NSTextField! というコードが、自動的に挿入されます。


アクションの接続

 ボタンと、ViewController.swift をアクションで接続します。アクションの接続の方法は、アウトレットの接続の方法と同じです。ボタンを、control + クリックするか、右クリックして、ViewController.swift まで、接続線を伸ばしながら、ドラッグしてください。

 表示される、コネクションパネルで、Connection を「Action」に変更して、Name を「convert」にしてください。Typeは、デフォルトの「AnyObject」のままにしておきます。設定が終わりましたら、「Connect」ボタンをクリックしてください。ViewController.swift に、@IBAction func convert(sender: AnyObject) { } というコードが、自動的に挿入されます。

 最後に、エディタエリアを一つの画面に戻します。次の図の、マウスポインターの位置を参考にして、スタンダードエディタ (Standard editor) ボタンをクリックしてください。エディタエリアが一つの画面に戻ります。


ViewController.swift

 ナビゲータエリアで、ViewControler.swift を選択すると、エディタエリアに、ViewController.swift のコードが表示されます。

 ここまでの作業で、ViewController.swift のコードは、次のリストのようになっています。太字部分が、ビューとコードを、接続することによって、自動的に挿入されたコードです。なお、リストの冒頭のコメント部分は、省略しています。

import Cocoa

class ViewController: NSViewController {
    @IBOutlet weak var rateField: NSTextField!
    @IBOutlet weak var dollarField: NSTextField!
    @IBOutlet weak var amountField: NSTextField!
    @IBAction func convert(sender: AnyObject) {
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override var representedObject: AnyObject? {
        didSet {
        // Update the view, if already loaded.
        }
    }


}
@IBOutlet weak var rateField: NSTextField!
このコード全体で、ViewController クラスの、プロパティ (property、属性) を定義しています。@IBOutlet は、このコードがアウトレットであることを表しています。weak は、このプロパティが、弱い参照関係を持っていることを表しています。var は、このプロパティが変数であることを表しています。rateField は、このプロパティの名前です。:NSTextField! は、このプロパティが、NSTextField のオプショナル型であることを表しています。

@IBOutlet weak var dollarField: NSTextField!
このコード全体で、ViewController クラスの、プロパティ (property、属性) を定義しています。@IBOutlet は、このコードがアウトレットであることを表しています。weak は、このプロパティが、弱い参照関係を持っていることを表しています。var は、このプロパティが変数であることを表しています。dollarField は、このプロパティの名前です。:NSTextField! は、このプロパティが、NSTextField のオプショナル型であることを表しています。

@IBOutlet weak var amountField: NSTextField!
このコード全体で、ViewController クラスの、プロパティ (property、属性) を定義しています。@IBOutlet は、このコードがアウトレットであることを表しています。weak は、このプロパティが、弱い参照関係を持っていることを表しています。var は、このプロパティが変数であることを表しています。amountField は、このプロパティの名前です。:NSTextField! は、このプロパティが、NSTextField のオプショナル型であることを表しています。

@IBAction func convert(sender: AnyObject) { }
このコード全体で、ViewController クラスの、メソッド (method、方法) を定義しています。@IBAction は、このコードがアクションであることを表しています。func は、このメソッドが、ファンクション (function、関数) であることを表しています。convert は、このメソッドの名前です。(sender: AnyObject) は、このメソッドが、sender という名前の、AnyObject 型の引数を持っていることを表しています。そして、このメソッドが、実際に行う作業を、{ と } の間に記述します。ここではまだ、実際に行う作業は、記述されていません。


お疲れ様でした。

 次章では、covert メソッドを実装します。実装とは、メソッドが実際に行う作業を、記述することです。


home  目次  前へ  次へ  mail


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