주소록 응용 프로그램과 비슷한 첫 번째 문자로 그룹화 (및 정렬)하려는 이름을 포함하는 UITableView가 있습니다. 나는 현재 어떤 섹션 ('A'- 'Z')을 일치시킬 수입니다 사용 :코코아 터치 UITableView 알파벳 '#'모두 일치하지 않음
// Sections is an array of strings "{search}" and "A" to "Z" and "#".
NSString *pattern = [self.sections objectAtIndex:section];
NSPredicate *predicate = nil;
// Ignore search pattern.
if ([pattern isEqualToString:@"{search}"]) return nil;
// Non-Alpha and Non-Diacritic-Alpha (?).
if ([pattern isEqualToString:@"#"]);
// Default case (use case and diacritic insensitivity).
if (!predicate) predicate = [NSPredicate predicateWithFormat:@"name beginswith[cd] %@", pattern];
// Return filtered results.
return [self.friends filteredArrayUsingPredicate:predicate];
그러나, '#'에 대한 일치하는 것은 저를 회피한다. 내가 사용 정규식 일치 구성 시도 :
[NSPredicate predicateWithFormat:@"name matches '[^a-zA-Z].*'"];
을하지만 이것은 분음 부호 알파 실패 (중복 행이 나타납니다). 어떤 아이디어라도 대단히 감사하겠습니다! 감사.
빠른 답장을 보내 주셔서 감사합니다. 지금 막 모든 것을 살펴보고 작동하는지 확인하기위한 수정 작업을하고 있습니다! 건배. –