Ios 如何在swift中的不同.swift文件之间发送数组

Ios 如何在swift中的不同.swift文件之间发送数组,ios,arrays,swift,swift2,Ios,Arrays,Swift,Swift2,myviewcontrollerOne中有一个二维数组 var estRent = [ ("Weekly Rent:", a), ("Monthly Rent:", b), ("Yearly Rent:", c), ] 第一个维度是常量,第二个维度是变量。我在按钮操作函数中声明它。我想给变量赋值,并在单击按钮时将整个数组传递给另一个。swift文件。我已经知道如何通过按钮从viewcontro

my
viewcontrollerOne
中有一个二维数组

var estRent = [
            ("Weekly Rent:", a),
            ("Monthly Rent:", b),
            ("Yearly Rent:", c),
               ]
第一个维度是常量,第二个维度是变量。我在
按钮操作
函数中声明它。我想给变量赋值,并在单击按钮时将整个数组传递给另一个。
swift
文件。我已经知道如何通过按钮从
viewcontroller
跳转


但是如何同时将阵列发送到.swift

SecondViewController
上声明一个数组变量&在按钮操作上传递值,如下所示-

var secondvc = SecondViewController();
secondvc.yourArray = estRent;

仅此而已。

包含阵列的第一个视图控制器:

class ViewController: UIViewController {

  var estRent = [ ("Weekly Rent:", 512), ("Monthly Rent:", 1024), ("Yearly Rent:", 12120)]

  override func viewDidLoad() {
    super.viewDidLoad()
  }

  override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if let viewController = segue.destination as? SecondViewController {
      viewController.estRent = estRent
    }
  }

}
在计划将阵列发送到的第二个视图控制器中:

class SecondViewController: UIViewController {

  var estRent = [(String, Int)]()

  override func viewDidLoad() {
    super.viewDidLoad()
    print(estRent)
  }

}

你的意思是你想在更改页面时将该数组发送到另一个swift文件(viewController?)?请阅读有关PrepareForegue的内容,这可能就是你要查找的内容:我的意思是,当我单击按钮时,我想将该数组从一个swift文件发送到另一个swift文件。按钮操作将更改viewcontroller。我想使用第二个swift文件中的数组。当您在Segue的帮助下推动时,需要将数据传递给第二类变量或使用那里的模型类。需要了解模型类模式和导航模式。您好,在“viewController.array=self.estRent”中,有一个错误说“无法将类型[(String,String)]的值分配给类型[Any]”我也尝试只发送数组[String],但navigationController.topViewController中有一个错误,如果我使用segue.destinationViewController,self.estrenti中会出现错误,如何在secondViewController中声明数组[String,String]?