我尝试设置它们后,实例变量为零

时间:2015-10-15 10:41:31

标签: swift uiviewcontroller

无法理解这里有什么问题。我想为视图控制器设置一些实例变量:

    private func simpleViewControllerAtIndex(index: Int) -> UIViewController! {
    let controller: SimpleTutorialController = storyboard?.instantiateViewControllerWithIdentifier("SimpleTutorialController") as! SimpleTutorialController
    let mainText = "simple_main_\(index + 1)".localized
    let detailText = "simple_detail_\(index + 1)".localized
    print(mainText)
    print(detailText)
    controller.mainText? = mainText
    controller.detailText? = detailText
    print(controller.mainText)
    print(controller.detailText)
    return controller
}

在日志中我看到一些奇怪的东西:

Aprendizagem
Palavra
nil
nil

如何解决问题?

2 个答案:

答案 0 :(得分:2)

我确定你的意思是指定没有问号的文本变量:

controller.mainText = mainText
controller.detailText = detailText

如果您有问号,则只有当变量(在本例中为mainText)不为nil时,赋值才会成功。它失败只是因为它是零,因此保持为零。

答案 1 :(得分:1)

controller.mainText?更改为controller.mainText,将controller.detailText?更改为<{1}}。

在引用可选变量时,访问它们时不需要?。您可以在已设置变量时使用它,但仍然没有必要。