Swift iOS开发:如何将print结果输出到指定Label、Image等视图控件上
解决方法
以下为UIKit场景下的具体实现步骤:
- 首先给视图控制器添加用于展示结果的文本控件关联
你可以在Storyboard或XIB中拖拽一个UILabel到界面的对应展示位置,按住Control键将Label拖到视图控制器的代码区域,生成IBOutlet关联,代码示例如下:
如果你是纯代码构建界面,直接在@IBOutlet weak var displayLabel: UILabel!viewDidLoad生命周期中初始化UILabel,设置好布局后添加到父视图即可,不需要拖线操作。 - 替换原有的打印逻辑
找到你原有代码中print(result)的位置,将其替换为给UILabel的text属性赋值的逻辑,修改后的代码片段示例:@IBAction func submitButton(_ sender: UIButton) { // ... 原有其他逻辑 if x < 0 { y = 0 let result = "Answer is \(y)" // 注意你原代码此处多写了一个右括号,需删除避免编译错误 // print(result) displayLabel.text = result } // ... 原有其他逻辑 } - 注意事项
- 你的原代码中
let result = "Answer is \(y))存在冗余右括号的语法错误,修改时记得修正 - UI更新操作必须在主线程执行,当前IBAction的触发回调默认在主线程,无需额外处理;如果后续你在异步闭包中执行UI更新,需要将赋值逻辑包裹在
DispatchQueue.main.async { }中执行。
- 你的原代码中
内容的提问来源于stack exchange,提问作者coder shmoder mr motor
相关产品推荐
相关产品推荐

