현재 내 구현에서는 UISearchBarController
입니다. 입력을 시작하면 UITableView
결과에 이름 속성을 기반으로 관련 개체를 반환하기 위해 대리자 메서드 내에 [NSString compare:]
을 사용하고 있습니다.Grapheme 클러스터 내에서 검색 또는 비교
지금까지 영어와 한국어로 잘 작동하지만, 내가 할 수있는 일은 NSString
의 문자 클러스터를 검색하는 것입니다. 이것은 한국어가 하나 인 소수의 언어에만 적용됩니다.
영어로 compare:
은 입력 한 모든 글자마다 새로운 결과를 반환하지만 한국어로 인식 된 글씨체 클러스터를 완성하면 결과가 생성됩니다. 음절을 구성하는 개별 요소를 통해 내 한국 객체 이름 속성을 검색 할 수 있기를 원합니다.
누구든지이 문제에 접근하는 방법에 대해 알려줄 수 있습니까? 수동으로 UTF16 문자를 검색하거나 하위 수준 클래스를 사용하여 검색하는 것과 관련이 있다고 확신합니다.
건배!
`NSString *string1 = @"이";
`NSString *string2 = @"ㅣ";
NSRange resultRange = [[string1 decomposedStringWithCanonicalMapping] rangeOfString: [string2 decomposedStringWithCanonicalMapping] options:(NSLiteralSearch)];
결과는 또는 decomposedStringWithCanonicalMapping
없이, 항상 NSNotFound입니다 : 여기
아이디어가 있으십니까?
로렌스, 그 정보는 환상적입니다. 한국어로 아이폰 앱이있다. 하지만 나는 한국어가 UTF8/16에 저장되는 방법에 관해 잘못된 가정하에 있다고 생각합니다. 답장을 보내 주셔서 감사합니다. 쿼리에 확실히 반영되었습니다. – Jessedc
당신의 도움에 감사드립니다. 로렌스, 나는 당신의 대답을 받아 들였습니다. 그것은 올바른 방향으로 나아갔습니다. – Jessedc