Pass Daten zwischen ViewController und ContainerViewController
Ich arbeite an einer App und muss Daten zwischen view und containerView übertragen. Ich muss Daten aus beiden Ansichten senden und empfangen.
Lassen Sie mich besser erklären:
Ich kann das @ ändeLabel Master (Berühren Sie die Containertaste) mitProtokol, aber ich kann das @ nicht ändeLabel Container (Berühren Sie die Master-Taste). Was passiert, ist der Master verbindet sich mit dem Container durch eine Folge. Sie haben jedoch keinen Verfolgungscontainer, der mit dem Master verknüpft ist.
Ich habe versucht, hinzuzufügen, aber segue zu, aber es hat funktioniert.
Der Master View Controller:
import UIKit
protocol MasterToContainer {
func changeLabel(text:String)
}
class Master: UIViewController, ContainerToMaster {
@IBOutlet var containerView: UIView!
var masterToContainer:MasterToContainer?
@IBOutlet var labelMaster: UILabel!
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "containerViewSegue" {
let view = segue.destinationViewController as? Container
view!.containerToMaster = self
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func button_Container(sender: AnyObject) {
masterToContainer?.changeLabel("Nice! It's work!")
}
func changeLabel(text: String) {
labelMaster.text = text
}
}
Der Container View Controller:
import UIKit
protocol ContainerToMaster {
func changeLabel(text:String)
}
class Container: UIViewController, MasterToContainer {
var containerToMaster:ContainerToMaster?
@IBOutlet var labelContainer: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func button_Master(sender: AnyObject) {
containerToMaster?.changeLabel("Amazing! It's work!")
}
func changeLabel(text: String) {
labelContainer.text = text
}
}
Kann mir jemand helfen