我目前正在使用iOS UIAutomation,并使用从动态数据填充的外部数据库生成的字符串标识元素。但是当字符串谓词包含单引号时,iOS uiautomation会抛出解析器错误。
示例:
UIATarget.localTarget().frontMostApp().mainWindow().collectionViews().firstWithPredicate(\"ANY visibleCells.name CONTAINS '" + title + "'")
请注意,如果title = "Todds Apartment"
此定位器正常工作。但是如果字符串包含单引号,则会抛出解析器错误。例如,如果title = "Todd's Apartment"
这不起作用。
单引号内的谓词评估是否有办法包含单引号?
答案 0 :(得分:0)
这真的是一个关于清理输入的问题 - 转义字符串以包含在某种查询字符串中。
你应该看看this question on escaping javascript strings for sql。只需在输入字符串中将\
替换为\\
,将'
替换为\'
,就可以最大限度地解决问题。
Apple's documentation on predicates似乎无法提供有关可能需要转义哪些字符的任何信息。