【发布时间】:2016-01-02 02:37:41
【问题描述】:
我有两个 swift 文件。一个文件有一个包含一些数据的变量。我需要从另一个类中使用该变量中的数据。
A类
class HVListConnectionsRequest: HVRequest {
var connections = [HVConnection]()
//Some code
}
B类
class HVListConnectionsController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
请告诉我如何在 B 类的 connections 变量中打印数据。
我没有使用故事板,我使用的是 XIB 文件和 MVC 设计模式,所以请告诉我如何在不使用 segues 的情况下做到这一点。
【问题讨论】:
-
全局变量?或者可能是一个结构,其中包含你需要的所有变量
-
@LeoDabus 我不能将其用作静态变量,因为我正在将数据附加到实例上的连接
-
您可以随时添加 willSet 并在更改其值之前执行任何您需要的操作stackoverflow.com/a/34486265/2303865
-
除了上面的 Leo:s 提示之外,可能使用自定义协议在从 HV 类到视图控制器中的某个委托对象之间进行委托回调(可能使用 Leo 提到的属性观察器进行回调,例如将设置)。参见例如andrewcbancroft.com/2015/04/08/…
-
你应该在 B 类中创建一个新的 var 在 A 类中创建你的 B 类的一个实例,然后设置它(在推送或呈现之前)