Swift 容器传递数据
Swift container pass data
我在 swift
中遇到容器问题
我需要知道当用户点击 Controller 中的按钮时喜欢照片:
如何知道容器中的按钮何时被点击?
为了调用 ContainedViewController
中的方法,您首先需要获得对它的引用。一个简单的方法是在 Document Outline 视图中点击 Embed segue 并给这个 segue 一个标识符,例如 "embedContainedVC"
.
然后您可以在 prepareForSegue
中使用该标识符来获取对嵌入式视图控制器的引用,并在单击按钮时使用它调用该视图控制器上的方法。
ViewController.swift:
class ViewController: UIViewController {
@IBOutlet weak var container: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
var containedVC: ContainedViewController!
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "embedContainedVC" {
containedVC = segue.destinationViewController as! ContainedViewController
}
}
@IBAction func doClick(sender: AnyObject) {
print("call contained VC")
containedVC.clickedClick()
}
}
包含ViewController.swift:
import UIKit
class ContainedViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
func clickedClick() {
print("click")
}
}
我在 swift
中遇到容器问题我需要知道当用户点击 Controller 中的按钮时喜欢照片:
如何知道容器中的按钮何时被点击?
为了调用 ContainedViewController
中的方法,您首先需要获得对它的引用。一个简单的方法是在 Document Outline 视图中点击 Embed segue 并给这个 segue 一个标识符,例如 "embedContainedVC"
.
然后您可以在 prepareForSegue
中使用该标识符来获取对嵌入式视图控制器的引用,并在单击按钮时使用它调用该视图控制器上的方法。
ViewController.swift:
class ViewController: UIViewController {
@IBOutlet weak var container: UIView!
override func viewDidLoad() {
super.viewDidLoad()
}
var containedVC: ContainedViewController!
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "embedContainedVC" {
containedVC = segue.destinationViewController as! ContainedViewController
}
}
@IBAction func doClick(sender: AnyObject) {
print("call contained VC")
containedVC.clickedClick()
}
}
包含ViewController.swift:
import UIKit
class ContainedViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
func clickedClick() {
print("click")
}
}