HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 是否可以在Swift属性上设置观察点?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在Objective-C中,我有时会在LLDB中设置观察点,以便在实例变量更改时知道.我可以使用 Swift属性吗?

现在,我唯一可以实现的方法是:

>添加一个doSet处理程序到属性并设置一个断点(但这需要停止程序并重新编译,哪种失败的目的)
>在[setPropertyName:]上添加一个符号断点,但这只有在类恰好支持Objective-C桥接时才有效

我有其他选择吗?

@H_618_10@解决方法
答案比我想象的要简单得多.最简单的方法是简单地在属性声明中添加一个断点.每当属性被读取或写入时,调试器将中断.

如果像我一样,只有当属性被改变并且忽略提取时才想要断开,在属性声明上设置一个断点,然后进入LLDB控制台并输入“br list”来查看所有断点的列表:

(lldb) br list
Current breakpoints:
1: file = '/Users/testuser/Desktop/TestFoo/Test.swift',line = 12,LOCATIOns = 3,resolved = 3,hit count = 1

  1.1: where = TestFoo`TestFoo.Test.x.getter : Swift.Int + 12 at Test.swift:12,address = 0x00000001084cfefc,resolved,hit count = 1 
  1.2: where = TestFoo`TestFoo.Test.x.setter : Swift.Int + 16 at Test.swift:12,address = 0x00000001084cff80,hit count = 0 
  1.3: where = TestFoo`TestFoo.Test.x.materializeForSet : Swift.Int + 16 at Test.swift:12,address = 0x00000001084d00f0,hit count = 0

你可以看到,有一个主断点“1”有三个子断点.禁用getter的子断点:

(lldb) br disable 1.1
1 breakpoints disabled.

你们都已经定了调试器只有在修改属性时才会中断.

大佬总结

以上是大佬教程为你收集整理的ios – 是否可以在Swift属性上设置观察点?全部内容,希望文章能够帮你解决ios – 是否可以在Swift属性上设置观察点?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。