【发布时间】:2011-01-07 14:20:06
【问题描述】:
在我当前的UISearchBarController 实现中,我在filterContentForSearchText:scope: 委托方法中使用[NSString compare:] 在您开始输入时根据其名称属性将相关对象返回到结果UITableView。
到目前为止,这在英语和韩语中都很好用,但我想做的是在 NSString 定义的字符簇中进行搜索。这仅适用于少数几种语言,韩语就是其中之一。
在英语中,compare: 在您输入每个字母后返回新结果,但在韩语中,一旦您完成了一个已识别的字素簇,就会生成结果。我希望能够通过构成音节的各个元素来搜索我的韩语对象名称属性。
任何人都可以阐明如何解决这个问题吗?我确信它与手动搜索 UTF16 字符或使用较低级别的类有关。
干杯!
这是一个不起作用的具体示例:
`NSString *string1 = @"이";
`NSString *string2 = @"ㅣ";
NSRange resultRange = [[string1 decomposedStringWithCanonicalMapping] rangeOfString: [string2 decomposedStringWithCanonicalMapping] options:(NSLiteralSearch)];
无论有没有decomposedStringWithCanonicalMapping,结果总是NSNotFound。
有什么想法吗?
【问题讨论】:
标签: iphone objective-c utf-8 nsstring utf-16