/ / Swift UISwitchセレクタインライン - スウィフト、ウイススイッチ

スウィフトUISwitchセレクタインライン - スウィフト、ウイススイッチ

私はこのようなターゲットを追加するはずです:

mySwitch.addTarget(self, action: Selector("selector"), for: UIControlEvents.valueChanged)

しかし、私はセレクタのための別の関数を望んでいないので、私はこのようなことをしたい:

mySwitch.addTarget(self, action: Selector {
if mySwitch.on {
label.text = "Yes, Please! - For:"
........
}
}, for: UIControlEvents.valueChanged)

迅速に好きではない、どうすればいいですか?

回答:

回答№1は5

残念ながら、あなたはそれを直接行うことはできません。 覚えておいてください、あなたはCocoaフレームワークを扱っています。これは古くから昔ながらのもので、Objective-Cで書かれています。 Objective-Cがブロックを持つずっと前から書かれていました。 長いです スイフトが存在する前に。それは、UIControlの行動機能が 関数 (またはあなたがそれをやっているような無名の関数本体); セレクタつまり、事実上、単なる ターゲット内のメソッドの

あなたはおそらくUIControl、または少なくともUISwitchサブクラス、この種のものを実装するか、またはあなたを助けるサードパーティのフレームワークがあるかもしれません。物事が進むにつれ、あなたのアイデアは、スウィフトに慣れている人にとっては自然ではあるが、失敗する運命にある。