在我的应用程序中,我有一排表格 View 单元格,每个单元格都有一个步进器和三个标签。步进器更改 TableView 单元格中标签的值。我面临的问题是,当我尝试将此数据传输到 View Controller 时, TableView 所在的 View Controller 不会传输数据。我需要 TableView 中的每个单元格都给我一个特定的值,所以我有 TableView 单元格的代码设置这样设置。
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)
}
}
然后,当按下带有 tableview 的 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 的情况下将数据从 TableView 单元格传输到 TableView 所在的 View Controller 。
我正在使用最新版本的 xcode 8。
最佳答案
我认为问题在于您如何为项目建模。
让我们描述一下问题。
你需要一个列表,这个列表是来自某个数据源的表示,比如数组。如果您有一个数组,您可以匹配列表中的 selectedIndex 并从数组中获取值。
在 TableView 中你有委托(delegate),这个委托(delegate)返回如何使用 id 选择单元格,所以获取这个 id 并从你的数组中获取数据。
希望能帮到你解决问题
关于ios - 如何将数据从 TableView 单元格传输到 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50767688/