在 Watchkit 目标中使用 Swift 创建数据 Class

Make a Data Class with Swift in Watchkit Target

由于在 WatchKit 中无法简单地使用 sharedApplication() 方法,因此在 WatchKit 中不再可以使用 AppDelegate 作为存储我所有 interfaces/views 数据的方法。在 swift 中是否有其他方法可以为 WatchKit 应用程序执行此操作?我试过像这样制作一个单例 class:

import Foundation

import UIKit

class data: NSObject {
class var sharedInstance : data {
    struct Example {
        static let instance = data()
    }
    return Example.instance
}

var value:Int = 0
var increment:Int = 1

}

(此代码来自另一个 Whosebug post,我只是忘记了 link。)然后我尝试通过调用 data.value 来访问整数 "value"接口控制器,但出现错误 'data.Type' 没有名为 'value' 的成员。我该如何解决这个错误?或者有更好的方法来实现我想要实现的目标吗?

谢谢

代码 data.value 试图访问 class data 上名为 value 的 class 变量或方法。由于不存在这样的变量或方法,您会收到错误消息。

在您的定义中,value 被定义为 class data 上的 属性,因此要使用它,您需要 data 的有效实例.您的 sharedInstance 方法提供了实例。

此外,Swift 中的约定是将 class 名称大写,因此我建议使用 Data