相关疑难解决方法(0)

WatchKit SDK无法从NSUserDefaults检索数据

我想为Apple手表制作一个测试应用程序,您可以在手机上设置一些String,然后它将显示在Apple Watch上.我决定使用NSUserDefaults类来存储这些数据.

在我的iPhone视图控制器中,我有一个方法,它将输入和存储带入本地存储:

- (IBAction)saveInfo:(id)sender {

    NSString *userInput = [myTextField text];

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults setObject:userInput forKey:@"savedUserInput"];

    [defaults synchronize];

    self.myLabel.text = [defaults stringForKey:@"savedUserInput"];
}
Run Code Online (Sandbox Code Playgroud)

在我的监视接口控制器中,我有一个检索数据并显示它的方法:

- (IBAction)showText2 {

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    [defaults synchronize];

    self.myLabel2.text = [defaults stringForKey:@"savedUserInput"];
}
Run Code Online (Sandbox Code Playgroud)

除了某些原因,我试图检索的数据显示为null,标签没有更新.

xcode objective-c ios xcode6 watchkit

25
推荐指数
2
解决办法
1万
查看次数

NSUserDefaults没有使用Watch OS2开发Xcode beta

我刚刚安装了最新的Xcode测试版来试用Swift 2以及Apple Watch开发部分的改进.

我实际上很难搞清楚为什么这种NSUserDefaultsiOSWatch OS2之间共享信息的基本方法无法正常工作.

我按照这个循序渐进的教程来检查我是否错过了这个过程中的某些内容,比如打开手机应用程序和扩展程序的同一组,但这就是我得到的:没有.

这是我在iPhone应用程序中为ViewController编写的内容:

import UIKit

class ViewController: UIViewController {
    @IBOutlet weak var lb_testo: UITextField!
    let shared_defaults:NSUserDefaults = NSUserDefaults(suiteName: "group.saracanducci.test")!
    var name_data:NSString? = ""

    override func viewDidLoad() {
        super.viewDidLoad()

        name_data = shared_defaults.stringForKey("shared")
        lb_testo.text = name_data as? String
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    @IBAction func upgrade_name(sender: AnyObject) {
        name_data = lb_testo.text
        shared_defaults.setObject(name_data, forKey: "shared")

        lb_testo.resignFirstResponder()
        shared_defaults.synchronize()
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我在WatchKit的InterfaceController中所拥有的:

import WatchKit
import …
Run Code Online (Sandbox Code Playgroud)

operating-system nsuserdefaults swift watchkit watchos-2

23
推荐指数
4
解决办法
7691
查看次数