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)")
}
}