我有一个 UIButton,我已经设置了 accessibilityLabel。为什么当我尝试使用圆点表示法打印辅助功能标签属性时,控制台找不到它?
(lldb) po self.closeButton.accessibilityLabel
error: property 'accessibilityLabel' not found on object of type 'UIButton *'
error: 1 errors parsing expression
(lldb) po [self.closeButton accessibilityLabel]
topsecretlabel
最佳答案
accessibilityLabel
不是 UIButton
的属性。它是由非正式 UIAccessibility
协议(protocol)定义的方法,UIButton
恰好响应该协议(protocol)。 lldb
在这些事情上往往比 clang 更严格,并且通过点符号引用非属性在严格意义上是不合法的。
事实上,它是一个非正式的协议(protocol),这实际上让 lldb 上的事情变得更加困难。您无法轻易确定 UIButton
实现了该协议(protocol)(从技术上讲,它是 NSObject
的扩展)。出于这个原因,我们不再经常使用非正式协议(protocol)。
关于ios - 为什么 Xcode 中的控制台不能使用点符号打印我的对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23414564/