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“不是”和“不”呢?