我注意到一段时间前编写的 UIAutomation 脚本中有一些奇怪的行为,但我已经有一段时间没有运行了。我的断言失败了;在进行一些挖掘之后,我发现在迭代 UIAElement 的 .elements()
时,子元素似乎与它们自身不相等。
这在过去对我有用,但至少在 XCode 4.3.2 中似乎被破坏了
重现:
- 创建单 View 应用
- 在 View 中添加一些元素,在元素上设置辅助功能标签,以便 UIAutomation 能够拾取它们
在 UIAutomation 中运行以下脚本:
var elements = UIATarget.localTarget().frontMostApp().mainWindow().elements(); for (var i = 0; i < elements.length; i++) { var el1 = elements[i]; var el2 = elements[i]; var equals = (el1 == el2); UIALogger.logMessage(el1.label() + " is equal to " + el2.label() + " ? " + equals); }
- 看到
el1
和el2
似乎没有引用同一个对象。
我不确定这是否是预期的行为,尽管这对我来说似乎很不对劲。如果有人有任何见解,我将不胜感激。
最佳答案
不确定这是否有帮助,但您可以尝试使用 === 运算符来比较对象吗?
关于ios - 为什么 UIAElement 的 child 不等于自己?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12100928/