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