首页 > 解决方案 > 单击按钮时(不在模拟器中),如何在 XCode 12.3“预览”中的 SwiftUI 中打印某些内容?

问题描述

我正在尝试使用 SwiftUI(不是模拟器)在 Xcode 12.3 中使用“预览”在调试控制台中打印一些文本,并且遇到问题......似乎没有任何显示。我也尝试右键单击并在预览区域中点击“调试预览”,但没有任何反应。

我还尝试了在单独的帖子中提出的一种方法,方法是在正文之外使用 Print 功能,但它也不起作用,简单的文本也不会打印到控制台。我的代码如下:

import SwiftUI

extension View {
    func Print(_ vars: Any...) -> some View {
        for v in vars { print(v) }
        return EmptyView()
    }
}

struct ContentView: View {

var body: some View {
VStack {
                        Button(action: {
print("Hello") // does not get printed
                        Print("Hello") // does not get printed
}) {
Text("Click Me")
}
}

}

}

如果没有办法让它在预览中工作并且仅在模拟器运行时打印到控制台,这是一个可以接受的答案,但如果可能的话,我希望能够在没有控制台的情况下打印语句运行模拟器,无需等待模拟器加载。

标签: iosswiftswiftui

解决方案


This works

Button(action: { print("Hello") }) {
    Text("Press Button")
}

推荐阅读