我的iOS应用中有一个按钮,一个文本框和一个按钮。用户输入文本,按下按钮,用户输入将显示在标签中。此外,当应用程序关闭并由UserDefaults再次运行时,用户输入将被保存。 iOS应用的代码如下:
import UIKit
class ViewController: UIViewController {
// Connecting the front-end UI elements to the code
@IBOutlet weak var myTextField: UITextField!
@IBOutlet weak var myLabel: UILabel!
// Connecting the button to the code
@IBAction func myButton(_ sender: Any) {
UserDefaults.standard.set(myTextField.text, forKey: "myText")
myLabel.text = UserDefaults.standard.object(forKey: "myText") as? String
}
override func viewDidLoad() {
super.viewDidLoad()
// If there is any value stored previously, the stored data will be shown in the label and the text box to edit.
if (UserDefaults.standard.object(forKey: "myText") as? String) != nil {
UserDefaults.standard.set(myTextField.text, forKey: "myText")
myLabel.text = UserDefaults.standard.object(forKey: "myText") as? String
}
}
}
但是现在,我想访问WatchKit扩展项中的键myText
中存储的数据,并在WatchKit App中显示文本。我在WatchKit应用程序中插入了标签,但希望WatchKit扩展程序访问存储在UserDefaults.standard.object(forKey: "myText")
中的数据。
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
// Connecting the label to the code
@IBOutlet var watchKitLabel: WKInterfaceLabel!
override func awake(withContext context: Any?) {
super.awake(withContext: context)
watchKitLabel.setText((UserDefaults.standard.object(forKey: "myText")) as? String)
}
}
有人可以帮助我吗?我已经从各种来源阅读了有关应用程序组的文档,但是该文档是Swift v3.1或Objective-C。或除应用程序组以外的任何其他解决方案都可以使用。另外,我希望数据与平台无关。因此,如果用户在iOS应用中输入一次并退出,我希望手表可以立即访问数据。
预先感谢...:)