swift3 Pickerの実装方法 (未完成、見るべからず)

まずcomponentとrowの理解から f:id:happy_teeth_ago:20180713081715j:plain

componentは左から0,1,2,3とindexが割り当てられる

rowは上から0,1,2,3とindexが割り当てられる

addTarget(_:action:for:)とは

ターゲットオブジェクトとアクションメソッドをコントロールに関連付けます。

func addTarget(_ target: Any?, 
        action: Selector, 
           for controlEvents: UIControl.Event)

target:

アクションメソッドが呼び出されたオブジェクト。

action:

呼び出されるアクションメソッドを識別するセレクタ。

controlEvents:

アクションメソッドが呼び出されるコントロール固有のイベントを指定する valueChanged: UIControl.Event

 UIBarButtonItem(
                barButtonSystemItem: UIBarButtonSystemItem.cancel,
                target: self, action: #selector(PickerTextField.cancel))

selector(PickerTextField.cancel))

には対象オブジェクトを指定して、それに対してのプロパティを設定する

@objc

Objective-Cには2つの隠し引数がありましたが、Swift4.0には1つしかありません。 これはつまり相互に利用することができないということです。 よってswiftから利用するときは@objをつける すると利用できるようになる。