SwiftUI中文教程之如何输出界面日志

SwiftUI不允许在SwiftUI视图中添加秘密的打印语句,以帮助调试。我最近遇到一个问题,即我在视图模型初始化程序中初始化Core Data属性,并且在循环中重复调用该代码。我确实需要深入了解原因,但是事实证明这样做很困难,而不能在UI代码的各个位置放置一些打印语句以更好地了解发生了什么。

尽管无法在SwiftUI中添加打印语句,但是可以从SwiftUI(返回Views)调用函数,并且这些函数显然包含普通的Swift代码,其中可以包括打印语句。因此,此解决方案有效。这是一个返回EmptyView并打印一些内容的函数:

func log(_ log: String) -> EmptyView {
    print("** \(log)")
    return EmptyView()
}

然后我可以将EmptyView放置在SwiftUI视图层次结构内的任何位置,例如,紧靠我感兴趣的生命周期的视图旁边,并且不会影响该视图,因为它为空:

var body: some View {
        VStack {
            log("MainListView: VStack")
            HStack {
            Text("您好")
            }

就是这样–在SwiftUI代码中添加日志的快速方法。有趣吧

推荐

基础文章推荐

经典教程推荐

技术源码推荐

推荐文章

CoreData篇

Combine篇

TextField篇

JSON文件篇


一篇文章系列

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识大胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值