Когда я использую следующие ключи Ä, Å, Ö в NSMutableDictionary, они преобразуются в «\ U00c4», «\ U00c5» и «\ U00d6».Причинение моему программному обеспечению пропуска объектов, связанных с упомянутыми ключами, поскольку я использую исходную форму (Å, Ä и Ö) в коде.Язык - шведский, и я хочу, чтобы это работало для всех стран, поэтому преобразование не является желательным поведением.
Что я здесь не так делаю?
Как можно избежать, чтобы символыбыть преобразованным?
Код:
- (void)populateNavigationViewWithProjects:(id)projects
{
[self.navigationViewItems removeAllObjects];
BOOL keyExists = NO;
NSString* firstLetterInProjectName = @"";
for (id project in projects) {
firstLetterInProjectName = [[[project valueForKey:@"name"] uppercaseString] substringToIndex:1];
keyExists = [[self.navigationViewItems allKeys] containsObject:firstLetterInProjectName];
if (keyExists) {
[[self.navigationViewItems objectForKey:firstLetterInProjectName] addObject:project];
}
else {
NSMutableArray* listOfProjects = [[NSMutableArray alloc] initWithObjects:project, nil];
[self.navigationViewItems setValue:listOfProjects forKey:firstLetterInProjectName];
[listOfProjects release];
}
}
[self.tableView reloadData];
}
navigationViewItems доступен в:
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
NSString* sectionTitle = [[[UILocalizedIndexedCollation currentCollation] sectionTitles] objectAtIndex:section];
BOOL sectionContainsData = [[self.navigationViewItems allKeys] containsObject:sectionTitle];
if (sectionContainsData) {
return sectionTitle;
}
return @"";
}
Объекты, перечисленные в Å, Ä и Ö, не будут перечислены из-за этого.