NotificationCenter zum übergeben von Daten in Swift

Arbeite ich an einem test-Projekt im Swift-3. Ich versuche mich zu übergeben textField string aus einer Klasse in eine andere Klasse, die mit NotificationCenter. Ich bin versucht zu trainieren die Antwort von diesem link: pass NSString-variable einer anderen Klasse mit NSNotification und wie übergeben Sie mehrere Werte mit einer Meldung in swift

Ich habe versucht, einige Antworten aus den obigen link, aber nichts funktionierte.

Mein code:

//First VC

import UIKit


extension Notification.Name {        
public static let myNotificationKey = Notification.Name(rawValue: "myNotificationKey")    
}


class ViewController: UIViewController {

@IBOutlet weak var textView: UITextView!

override func viewDidLoad() {
    super.viewDidLoad()
    //Do any additional setup after loading the view, typically from a nib.

}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    //Dispose of any resources that can be recreated.
}


@IBAction func sendData(_ sender: AnyObject) {

    let userInfo = [ "text" : textView.text ]
    NotificationCenter.default.post(name: .myNotificationKey, object: nil, userInfo: userInfo)

}

}

//SecondVC

 import Foundation
 import  UIKit

 class viewTwo: UIViewController {

@IBOutlet weak var result: UILabel!



override func viewDidLoad() {


}


override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    NotificationCenter.default.addObserver(self, selector: #selector(self.notificationReceived(_:)), name: .myNotificationKey, object: nil)
}

override func viewDidDisappear(_ animated: Bool) {
    super.viewDidDisappear(animated)
    NotificationCenter.default.removeObserver(self, name: .myNotificationKey, object: nil)
}

func notificationReceived(_ notification: Notification) {
    guard let text = notification.userInfo?["text"] as? String else { return }
    print ("text: \(text)")

    result.text = text
}

NotificationCenter zum übergeben von Daten in Swift}

Ich bin nicht sicher was ist falsch mit dem code. Oben, code ursprünglich gekennzeichnet als eine Antwort, die ich gefunden habe aus dem ersten link. Code konvertiert wurden, um Swift.

InformationsquelleAutor Joe | 2016-10-13
Schreibe einen Kommentar