iOS:如何避免在search栏中input特殊字符?

我可能正在看这个不正确,但现在,如果用户在search栏中input某些特殊字符,应用程序将崩溃。 这些包括\和'。

撇号是一个问题,用“不是”和“不”这样的词语会导致崩溃

我应该如何解决这个问题呢?

非常感谢

在使用searchstring进行search之前,请先对其进行过滤,如下所示:

NSString *safeSearchString = [[searchString componentsSeparatedByCharactersInSet:[[NSCharacterSet alphanumericCharacterSet] invertedSet]] componentsJoinedByString:@""]; 

为什么你不逃避人物,并实际上search用户想要什么,而不是忽略或删除他们想要的?

你在使用SQLite吗? 如果是这样,那么你可以通过另一个单引号转义单引号。

UISearchBar使用UISearchBarDelegate协议。 要阻止用户input\,“所有你需要做的就是重写searchBar:shouldChangeTextInRange:replacementText:方法,如果你感觉到文本中的特殊字符,你只需返回NO

但是在程序中处理(而不是忽略)这些特殊的字符是一个更好的用户体验。 毕竟为什么你的用户甚至首先search“不是”和“不”呢?