将属性值传递回SuperClass

时间:2015-11-07 18:14:38

标签: ios swift swift2 watch-os-2

我有两个类Model和View Controller。 Model为View Controller提供了价值,View Controller正在为Model返回新值。

  class Model : NSObject {
         var session : Int = 0 
         }

  class ViewController : WKInterfaceController {

        var newSession = Model().session
        let counter = 5

        for var index = 0; index < counter.count ; ++index {
            newSession++
        }
   }

    print(Model.session) // How to set value of Model.session === newSession?

如何使用新计算的newSession值提供Model.session?

1 个答案:

答案 0 :(得分:1)

这条线毫无意义:

print(Model.session)

事实上,我很惊讶它编译。 session实例属性,而不是Model 的属性。在与之交谈之前,您需要一个实际的Model实例。但你没有;在第一行中你暂时初始化了一段时间,然后你把它扔掉了:

var newSession = Model().session

您需要保留 Model的实例,以便持久。你不是那样做的。例如:

class ViewController : WKInterfaceController {
    let theModel = Model()
    // ...
}

现在你有一个持久的Model实例,即theModel。现在,您可以根据需要访问theModel.session