在视图[swift 3] [iOS]

时间:2017-05-07 18:03:44

标签: ios arrays iphone swift

我一直在使用swift 3开发应用程序,
这里有点新的(快速编程),
所以这就是事情,
我想将数据从第一个表视图控制器中的数组传递到第二个表视图控制器,然后在第二个表视图控制器中我想使用if函数根据我一直在使用的值在表视图中显示不同的图像在第一张表视图中,
我已经做了segue的事情,但它没有工作
这是我的第一个表视图控制器代码块

var FirstTableArray = [String]()
var SecondArray = [SecondTable]()

   override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    FirstTableArray = ["Alam","Sejarah dan Budaya","Buatan"]

    SecondArray = [SecondTable(SecondTitle:["11","12","13"]),
                   SecondTable(SecondTitle:["21","22","23"]),
                   SecondTable(SecondTitle:["31","32","33"])]
}

“FirstTableArray”是我要传递其值的数组,这是第一个表视图控制器中的其他代码片段,用于使用“FirstTableArray”值在表视图中显示标签

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let Cell = self.tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! CostumTableViewCell

    Cell.judulGambar.text = FirstTableArray[indexPath.row]
    Cell.namaGambar.image = UIImage(named: gambarMenu[indexPath.row])

    Cell.namaGambar.layer.cornerRadius = Cell.namaGambar.frame.size.width/2
    Cell.namaGambar.clipsToBounds = true

    return Cell
}

现在我已经使用这个准备segue方法成功传递了“SecondArray”值,但我不能为“FirstTableArray”值做这件事 这是我的segue方法

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    var IndexPath : IndexPath = self.tableView.indexPathForSelectedRow!
    let DestViewController = segue.destination as! SecondTableViewController

    var SecondArrayTableTwo : SecondTable

    SecondArrayTableTwo = SecondArray[IndexPath.row]
    DestViewController.SecondArray = SecondArrayTableTwo.SecondTitle

}

现在这里是我的第二个表视图控制器,我想将第一个表视图控制器数据传递给此视图,我的第二个数组数据已经传递了它的值,但是我无法为“FirstTableArray”值执行此操作 我的第二个表视图控制器代码

   var namaGambarDetail = ["gunungmahawu.jpg","pantaimalalayang.jpg","pulaumanadotua.jpg","pulausuladen.jpg"]
var gambarSejarah = ["pantaimalalayang.jpg","gunungmahawu.jpg","pulaumanadotua.jpg","pulausuladen.jpg"]

var FirstArray = [String]()
var SecondArray = [String]()


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

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return SecondArray.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let Cell = self.tableView.dequeueReusableCell(withIdentifier: "SecondCell", for: indexPath) as! CostumTableViewCell

    Cell.judulDetail.text = SecondArray[indexPath.row]

    Cell.gambarTampilDetail.image = UIImage(named: namaGambarDetail[indexPath.row])

    Cell.gambarTampilDetail.layer.cornerRadius = Cell.gambarTampilDetail.frame.size.width/2
    Cell.gambarTampilDetail.clipsToBounds = true



    return Cell
}

我想在单击行时传递“FirstTableArray”值数据,就像所选值的索引路径一样,所以我可以在第一个视图中使用if语句函数更改基于单击值的图像

if(FirstTableArray.text.contains("my first table view array values")){ Cell.gambarTampilDetail.image = UIImage(named: namaGambarDetail[indexPath.row])}

对不起我的长篇文章,希望你们明白我的意思,抱歉我的英语不好,cmiiw,谢谢,任何帮助表示赞赏:)

0 个答案:

没有答案