簡體   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