如何引用其他类中的变量

时间:2016-04-08 00:35:01

标签: swift

我的项目中有一个类,其中有一个文本字段,用户可以在其中输入文本。但是,我希望在该文本字段中输入的文本可以被另一个类检索。到目前为止,我一直在使用它:

var userEntry = userTextField.text 

不幸的是,上面的方法似乎只适用于同一类中的变量。

1 个答案:

答案 0 :(得分:0)

您有多个选项可以将消息和控件从一个类传递到另一个类,您可以选择一个类,具体取决于您需要传递的数据量和数据类型。

在大多数Apple的API中使用协议是事实上的标准,如果你谷歌的话,你可以找到很多关于这个主题的教程。

通知中心也是一种受欢迎的替代方案,说实话,如果刚刚开始,请更容易理解。

这里有一个超级简单的通知示例,可以帮助您开始,再次谷歌主题以获得教程。

var dataDict = Dictionary<String, String>()
                dataDict["rid"] = self.superString4
                     NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: self, userInfo:dataDict)

此代码调用通知中心在流程中的dataDict中发布信息。你把它放在你的班级中,数据是发送数据的类。

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.methodOfReceivedNotification(_:)), name:"NotificationIdentifier", object: nil)

此代码在接收类中注册通知。

func methodOfReceivedNotification(notification: NSNotification){
    print("methodOfReceivedNotification")
    var recordID: CKRecordID!
    if let info = notification.userInfo as? Dictionary<String,String> {
        if let rid = info["rid"] {
            print("rid \(rid)")
        }
}

此代码再次在接收类中获取通知时会执行某些操作。