小编Bob*_*obC的帖子

swift3 - 用背景数据更新ui

使用后台线程中的数据进行UI更新时遇到困难.我阅读了大量的文档,但仍然遗漏了一些东西......

func getData(){
    DispatchQueue.global(qos: .background).async {
        let token = GetTokenOperation()

        token.success = { item in
            print("Success")
        }

        token.failure = {error in
            print(error.localizedDescription)
        }

        NetworkQueue.shared.addOperation(op: token)

        DispatchQueue.main.async {
            // qos' default value is ´DispatchQoS.QoSClass.default`
            self.updateUI()
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

self.updateUI()在打印"成功"之前执行.当我把self.updateUI()放在闭包token.success中时,它确实崩溃了.

swift3

3
推荐指数
1
解决办法
3846
查看次数

以编程方式将toTarget动作添加到UIButton

我测试了大量的样品,但没有一个适合我.这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    let button = UIButton(frame: CGRect(x: 100, y: 100, width: 200, height: 50))
    button.backgroundColor = .green
    button.setTitle("Test Button", for: .normal)
    button.titleLabel?.sizeToFit()
    button.addTarget(self, action: #selector(ViewController.buttonTapped(_:)), for: .touchUpInside)

    self.view.addSubview(button)
}

func buttonTapped(_ sender: UIButton) {
    print("Button tapped.")
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

uibutton tvos swift3

3
推荐指数
1
解决办法
778
查看次数

标签 统计

swift3 ×2

tvos ×1

uibutton ×1