【发布时间】:2017-08-22 03:56:43
【问题描述】:
我正在尝试将数据从表格视图单元格按钮转发到视图控制器。根据在哪个行中选择了按钮,我希望相应地设置以下视图控制器标签的文本。但是,当我尝试这样做时,以下视图控制器中的标签保持空白并且不会更改。我该如何更改?
我在表格视图控制器中向tipButton 添加了一个操作,该操作创建了KeysController 的segue,仅供参考。
表格视图单元格代码:
class DrillsTableViewCell: UITableViewCell {
var videoURL:[URL] = [URL(fileURLWithPath: "/Users/RalphSimmonds/Desktop/plainjayne/coolinDB/cook.mov"), URL(fileURLWithPath: "/Users/RalphSimmonds/Desktop/plainjayne/coolinDB/check.MOV")]
var video = URL(fileURLWithPath: String())
var initialRow = Int()
var firstTips = ["Tip 1: Stay Hydrated", "Tip 1: Keep elbow tucked", "x", "Tip 1: Take quick breaks:", "Tip 1: Keep your head up", "Tip 1: Don't cross your feet", "Tip 1: Don't do more than 15 reps"]
var player: AVPlayer?
var playerController = AVPlayerViewController()
@IBOutlet weak var drillTitle: UILabel!
@IBOutlet weak var tipButton: UIButton!
@IBAction func tipsButton(_ sender: UIButton) {
print(String(initialRow))
let tipsVC = UIStoryboard(name: "main", bundle: nil).instantiateViewController(withIdentifier: "KeysController") as! KeysController
tipsVC.key1.text = firstTips[initialRow]
}
我要更新其标签的视图控制器的代码:
import UIKit
class KeysController: UIViewController {
@IBOutlet weak var topLabel: UILabel!
@IBOutlet weak var key1: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
}
【问题讨论】:
-
每次从 tableViewCell 按下按钮时,您都在创建 viewController 的新对象并设置标签的文本。您需要使用 viewController 的现有对象来更改它的属性(即标签)的值。
标签: ios swift uitableview segue