0

我有一个 Graph 类,它是一个 UIView,我在里面初始化它mainVC.swift

class MainVC : UIViewController{
   let graph : Graph!

   override func viewDidLoad(){
      super.viewDidLoad()
      let data_x : [Double] = [...]
      let data_y : [Double] = [...]
      ...
      graph = Graph(frame: CGRect(...), color: ..., xData: data_x, yData: data_y, darkMode: ...)
      view.addSubview(graph)
      ...
      }

现在我想访问我在 MainVC 中在不同类中创建的类实例内部的函数(以在 TableView 中填充数据)。

var g : Graph = MainVC.graph返回“实例成员图不能在 MainVC 类型上使用”我也尝试过使用静态变量,但出现错误。

4

3 回答 3

1

这是我知道的检查方式之一。

class MainVC {
   let graph : Graph! 
}

图是一个存储的属性是一个常量或变量,它作为特定类的实例的一部分存储。所以你尝试访问实例属性而不是类的实例。

在您的类 MainVC 中,将变量设置为包含实例的静态变量

 static var graph: Graph?

然后将 Graph 的实例存储在 Graph 类的图形属性中

  MainVc.graph = self

现在您可以在另一个访问图形实例的类中使用,例如

  MainVc.graph
于 2017-06-29T12:49:23.823 回答
0
let mainVc = MainVC()
let graph = self.graph
于 2017-06-29T11:59:14.163 回答
0

您正在访问一个类的实例变量,而不是它的实例。

于 2017-06-29T11:50:28.937 回答