在我的应用程序中,我有一排表格视图单元格,每个单元格都有一个步进器和三个标签。步进器更改表视图单元格中标签的值。我面临的问题是,当我尝试将此数据传输到视图控制器时,表视图打开它不会传输数据。我需要在表视图中的每个单元格给我一个特定的值,所以我有像这样设置的表格视图单元格的代码。
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的情况下将数据从表格视图单元格传输到表视图所在的视图控制器。
我使用的是最新版本的xcode 8。
答案 0 :(得分:0)
我认为问题在于你如何建模你的项目。
让我们描述一下这个问题。
您需要一个列表,该列表是某些数据源的表示,如Array。如果你有一个数组,你可以匹配列表中的selectedIndex并从数组中获取值。
在TableView中你有委托,这个委托返回如何用id选择单元格,所以得到这个id并从你的数组中获取数据。
我希望能帮助您找到解决方案