Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在其他类中引用变量_Swift - Fatal编程技术网

Swift 如何在其他类中引用变量

Swift 如何在其他类中引用变量,swift,Swift,我的项目中有一个类,它有一个文本字段,用户可以在其中输入文本。但是,我希望在该文本字段中输入的文本由另一个类检索。到目前为止,我一直在使用这个: var userEntry = userTextField.text 不幸的是,上述方法似乎只适用于同一类中的变量。您有多个选项可用于将消息和控件从一个类传递到另一个类,您可以根据需要传递的数据量和类型来选择 在大多数苹果API中,使用协议是事实上的标准,如果你在谷歌上搜索,你可以找到很多关于这个主题的教程 通知中心也是一个很受欢迎的选择,老实说,

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

var userEntry = userTextField.text 

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

您有多个选项可用于将消息和控件从一个类传递到另一个类,您可以根据需要传递的数据量和类型来选择

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

通知中心也是一个很受欢迎的选择,老实说,如果你刚开始工作的话,你的头脑会变得容易一些

这里是一个超级简单的通知示例,让您开始,再次谷歌主题获得教程

var dataDict = Dictionary<String, String>()
                dataDict["rid"] = self.superString4
                     NSNotificationCenter.defaultCenter().postNotificationName("NotificationIdentifier", object: self, userInfo:dataDict)
此代码在接收类中注册通知

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)")
        }
}
接收通知的func方法(通知:NSNotification){ 打印(“接收通知的方法”) var-recordID:CKRecordID! 如果let info=notification.userInfo as?字典{ 如果let rid=info[“rid”]{ 打印(“rid\(rid)”) } } 同样,在接收类中,该代码在收到通知时也会执行一些操作。

与刚才的操作完全相同。
text
是另一个类的变量(可能是
UITextField
),您通过引用该类的实例(
userTextField
)来访问它。
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)")
        }
}