私の目標は、デリゲートを使ってUISwitchでUITextFieldの編集を有効/無効にすることです。ドラッグ - デリゲートクラスのIBOutletにUISwitchを接続する
import Foundation
import UIKit
class SwitchedTextFieldDelegate : NSObject, UITextFieldDelegate{
@IBOutlet weak var switchText : UISwitch!
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
//Here I intended to read the UISwitch state
print("Can't touch this")
return false
}
}
私はIBOutletをストーリーボードにドラッグしようとしましたが、これはできません。私はそれをUIViewControllerを継承するメインビューコントローラ上で行うことができます。 Swiftでは複数の継承が不可能であることをすでに知っています。これをどうやって解決しますか?代わりにIBActionを使用してみます。
ビューコントローラ自体をデリゲートとして使用するのが一般的です。必要に応じて別のクラスをデリゲートとして使用できますが、ストーリーボードを使用してデリゲートに接続することはできません。あなたはコードでそれを行う必要があります。 – ryantxr