Swiftコードをストーリーボードにフックする場合、IBAction
およびIBOutlet
タグをどのように追加しますか?
IBAction
およびIBOutlet
属性を変数および関数に追加して、それらをInterface Builderで表示できるようにします。
class ViewController: UIViewController {
@IBOutlet var label: UILabel?
@IBAction func doTap(x:UIButton) {
println("Tapped: \(x)")
}
}
以下のコードは、SwiftでのIBOutletおよびIBAction形式を示しています。
class MyViewController: UIViewController {
@IBOutlet weak var btnSomeButton: UIButton?
@IBOutlet weak var lblLabelItem: UILabel?
@IBAction func btnSomeButtonClicked(sender: UIButton) {
...
}
}
Objective-Cと同じ方法でバインドできます。
私は Jayprakash に賛成するのは、賛成された最初の答えよりもそうです。私が修正する唯一のことは、暗黙的に!
でアンラップされたIBOutletsのマークです。以前は正解でしたが、Swiftにいくつかの変更が加えられ、最新のIBとどのように相互作用するかリリース。 Swiftでは、IBOutletに暗黙の動作や魔法はなくなりました。これらは単にIBの注釈です。この応答の日付の時点で、次のコードは正しいです:
// How to specify an the equivalent of IBOutletCollection in Swift
@IBOutlet var fields: [UITextField]!
// How to specify a standard IBOutlet
@IBOutlet weak var button: UIButton!
// How to specify an IBAction
@IBAction func buttonWasPressed(sender: UIButton) { ... }
Xcode5で一般的だった古いctrl +ドラッグテクニックを使用するだけで、すべてが正常に動作します。
プロジェクトを作成するときは、ストーリーボードを選択しておく必要があります。これにより、IBOutlet
をストーリーボードに直接追加できます。
以下のコードは、IBOutlet
をUILabel
に追加する方法を示しています。
class ViewController: UIViewController {
@IBOutlet var label : UILabel
}