在不同的类中调用不同的方法后,无法在方法中更改UILabel

时间:2017-06-04 05:00:51

标签: ios swift uilabel

我正在尝试使用从其他类检索的数据更新UILabel,因此在ViewDidLoad中,我在该不同的类中调用一个方法,然后在该类中调用ViewController中的方法来更新UILabel。以下是我尝试运行的代码的简化版本:

import UIKit

class test: UIView {

    func runTest() {
        ViewController().print()
    }
}

和另一个班级:

{{1}}

我不断收到控制台中打印的错误消息:"致命错误:在打开可选值(lldb)"时意外发现nil;

" label.text =" test123"说:"线程1:EXC_Bad_Instruction(代码= EXC_(386_INVOP,子代码= 0x0)"

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您的问题是您在视图控制器的新实例上运行该函数,而应该在已创建的实例上运行它。例如,如果您的视图是视图控制器的子视图,则可以在类test中替换编辑功能测试。

func runTest() {
    if let vc = self.parent as? ViewController{
        vc.print()
    }
}

这应该在已经创建的视图控制器实例上运行该函数。

答案 1 :(得分:0)

Google Chrome -> Press F12 -> Application tab -> Storage Node in left navigation bar -> Web SQL node -> <Database Name> node