我的项目中有一个类,其中有一个文本字段,用户可以在其中输入文本。但是,我希望在该文本字段中输入的文本可以被另一个类检索。到目前为止,我一直在使用它:
var userEntry = userTextField.text
不幸的是,上面的方法似乎只适用于同一类中的变量。
答案 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)")
}
}
此代码再次在接收类中获取通知时会执行某些操作。