【发布时间】:2017-07-08 02:12:05
【问题描述】:
我正在努力将一个视图控制器中选择器视图中的选定选项传递给另一个视图控制器中标签的标签文本。带有我要更新的标签的 VC 具有情节提要标识符:“PageContentViewController”。带有我的选择器 (periodPicker) 的 VC 在视图底部有一个“选择”按钮,按下时会调用以下函数:
@IBAction func selectButtonPressed(_ sender: Any) {
let row = periodPicker.selectedRow(inComponent: 0)
let selected = periodType[row]
let pageContentViewController = self.storyboard?.instantiateViewController(withIdentifier: "PageContentViewController") as! PageContentViewController
pageContentViewController.periodLabelTitle = selected
}
PageContentViewController 类的代码是
import UIKit
class PageContentViewController: UIViewController {
@IBOutlet weak var periodLabel: UILabel!
@IBOutlet weak var dateLabel: UILabel!
var pageIndex: Int = 0
var periodLabelTitle: String!
var dateLabelTitle: String!
override func viewDidLoad() {
super.viewDidLoad()
periodLabel.text = periodLabelTitle
dateLabel.text = dateLabelTitle
}
}
当通过选项卡按钮导航到PageContentViewController 时(它是一个基于选项卡的应用程序),标签文本不会更新。我哪里错了?
我已经尝试在pageContentViewController 的viewDidAppear 方法中使用periodLabel.text = periodLabelTitle 命令,但这仍然不起作用(在之前按下“选择”按钮之后)。
我相信提到PageContentViewController 是UIPageViewController 的子VC 也是相关的。
【问题讨论】:
-
尝试在
viewDidLoad()方法中放置一个断点并检查文本是否为空 -
@KK7 这不适用。 OP 指的是不使用 segues 的选项卡应用程序。