繁体   English   中英

如何将数据从表视图单元传输到视图控制器

[英]How To Transfer Data from a Table View Cell to a View Controller

在我的应用程序中,我有一排表格视图单元格,每个单元格都有一个步进器和三个标签。 步进器在表视图单元格中更改标签的值。 我面临的问题是,当我尝试将数据传输到视图控制器时,其上的表视图无法传输数据。 我需要表格视图中的每个单元格都给我一个特定的值,因此我要像这样设置表格视图单元格的代码。

import UIKit

 class ItemSearchCell: UITableViewCell {

@IBAction func itemAmountChanger(_ sender: UIStepper) {
    itemQuantyWanted.text = "\(Int(sender.value))"
    SearchResults().itemResultsAmountWanted.insert(Int(sender.value), at: position)
}


@IBOutlet weak var amountChangerValue: UIStepper!

@IBOutlet weak var areaView: UIView!

@IBOutlet weak var itemName: UILabel!

@IBOutlet weak var itemPrice: UILabel!

@IBOutlet weak var itemQuantyWanted: UILabel!


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

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
}

 }

然后,当按下带有表视图的ViewController上的按钮时,我将获取这些数据并将其传输到新的ViewController。 但是,数据不是由步进器发送的。 用于发送数据的代码是这个。

var itemResultsName:[String]=[]
var itemResultsAmountWanted:[Int]=[]

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let nextView = segue.destination as! CategorsSearch
    if segue.identifier == "Return"{
        if itemResults.count != 0{
            for i in 0 ... (itemResults.count-1){
                nextView.returningItemsName.append(itemResultsName[i])
                nextView.returningItemsAmountWanted.append(itemResultsAmountWanted[i])
                }
            }
        }
    }

我的问题是如何在不使用seugeway的情况下将数据从表视图单元传输到表视图处于打开状态的视图控制器。

我正在使用最新版本的xcode 8。

我认为问题在于您如何建模项目。

让我们描述问题。

您需要一个列表,该列表是某个数据源(例如Array)的表示形式。 如果您有一个数组,则可以从列表中匹配selectedIndex并从数组中获取值。

在TableView中,您具有委托,该委托返回如何使用id选择单元格,因此获取此id并从数组中获取数据。

我希望能帮助您找到解决方案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM