これは、UITableViewCellクラスからUIViewControllerクラスにデータを転送することです。以下は私のUITableViewCellです:UITableViewCellのココアタッチクラスからUIViewControllerクラスへのデータの転送
class OrderCell: UITableViewCell {
override func awakeFromNib() {
super.awakeFromNib()
}
var post: OrderModel!
var link: Link!
var addedList: [String:Float] = [:]
@IBOutlet weak var dishName: UILabel!
@IBOutlet weak var dishDescriptionAndPrice: UILabel!
@IBOutlet weak var numberOfOrders: UILabel!
@IBOutlet weak var addOrderBtn: UIButton!
@IBOutlet weak var subtractOderBtn: UIButton!
@IBAction func addButtonPressed(sender: AnyObject) {
if numberOfOrders.text == "9" {
numberOfOrders.text = "9"
} else {
numberOfOrders.text = String((Int(numberOfOrders.text!)! + 1))
}
addedList.updateValue(post.dishPrice, forKey: post.dishName)
print(addedList)
}
@IBAction func subtractButtonPressed(sender: AnyObject) {
if numberOfOrders.text == "0" {
numberOfOrders.text = "0"
} else {
numberOfOrders.text = String((Int(numberOfOrders.text!)! - 1))
}
}
func getOrders() -> Dictionary<String, Float> {
return addedList
}
func configureCell(post: OrderModel) {
self.post = post
self.dishName.text = post.dishName
self.dishDescriptionAndPrice.text = post.dishDescription
self.numberOfOrders.text = "0"
}
}
私がやろうとしています何を、上記のクラスから「addedList」を取得し、(のUIViewControllerである)私の他のクラスを持っています。私は明らかにprepareForSegueを使うことができません。私はこの2つのクラスと互換性のある方法を見つけることができませんでした。私は新しいクラスを作成して2つの間の "橋渡し"を行い、データを転送することにしていますが、もう一度この方法を見つけることはできません。すべての助けが大変ありがとうございます、事前にありがとうございます。
具体的には、UIViewControllerは私のtableviewを保持し、上記のクラスは個々のセルのオブジェクトファイルです。 addButtonPressed IBactionが呼び出されたときにデータを転送する必要があります。
あなたのUIViewControllerはあなたのテーブルビューを含むクラスですか? 2とのリンクは何ですか?いつあなたはセルから 'addedList'を取得しますか?セルが選択されたら? –
ありがとうございます。私はこれらの質問に答えるために、質問を最後まで更新しました。 –