2015-11-07 116 views
-4

我有两个类Model和View Controller。模型为View Controller提供价值,并且View Controller正在为Model返回新值。将属性值传递给SuperClass

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

您需要了解什么是面向对象编程。我建议你从我的书开始处开始:http://www.apeth.com/swiftBook/ch01.html – matt

回答

1

此行是没有意义的:

print(Model.session) 

事实上,我很惊讶,它编译。 session实例财产,而不是的财产。在与之交谈之前,您需要一个实际的模型实例。但你没有一个;在第一行,你初始化一个片刻,但你把它扔掉:

var newSession = Model().session 

您需要保留模型的实例,使其持续。你没有那样做。例如:

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

现在你有一个持久化模型的实例,即theModel。现在您可以尽可能多地访问theModel.session

+0

好的,如果我打电话给Model.session = 5,我该如何更改Model.session的值具有相同的价值? –

+0

由于缺少基础知识,你不理解matts答案。正如他所说 - 读他的书。 – Darko