iOS UiAutomation - 字符串中单引号的谓词

时间:2015-07-31 22:45:28

标签: objective-c nspredicate ios-ui-automation

我目前正在使用iOS UIAutomation,并使用从动态数据填充的外部数据库生成的字符串标识元素。但是当字符串谓词包含单引号时,iOS uiautomation会抛出解析器错误。

示例:

UIATarget.localTarget().frontMostApp().mainWindow().collectionViews().firstWithPredicate(\"ANY visibleCells.name CONTAINS '" + title + "'")

请注意,如果title = "Todds Apartment"此定位器正常工作。但是如果字符串包含单引号,则会抛出解析器错误。例如,如果title = "Todd's Apartment"这不起作用。

单引号内的谓词评估是否有办法包含单引号?

1 个答案:

答案 0 :(得分:0)

这真的是一个关于清理输入的问题 - 转义字符串以包含在某种查询字符串中。

你应该看看this question on escaping javascript strings for sql。只需在输入字符串中将\替换为\\,将'替换为\',就可以最大限度地解决问题。

Apple's documentation on predicates似乎无法提供有关可能需要转义哪些字符的任何信息。