3
ロット名を含むコアデータにエンティティがあります。名前の中には特殊文字、たとえばÅフィヨルドがあります。 Åの文字で始まる名前は、ノルウェーのアルファベットの最後の文字なので、私のテーブルビューの最下部にある必要があります。コアデータを特殊文字でアルファベット順にソート
-(NSArray *)getFetchedObjects:(NSManagedObjectContext *)context entityName:(NSString *)entityName sortKey:(NSString *)key{
NSError *error = nil;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName inManagedObjectContext:context];
[fetchRequest setEntity:entity];
if (key != nil) {
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]initWithKey:key ascending:YES];
NSArray *sortDescs = [[NSArray alloc]initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescs];
}
return [context executeFetchRequest:fetchRequest error:&error];
}
そして、私はそうのようなメソッドを呼び出す:
places = [jsonMethods fetchObjectsForEntityName:@"Places" withPredicate:nil context:self.context sortKey:@"name"];
出力である:
:AAAA
AAAA
ÅÅÅÅ
BBBB
BBBB
... and so on
Iは次のようNSSortDescriptorに選択しようとしました
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]initWithKey:key ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
しかし、ちょうど最初にÅで始まる名前を入れてください。
私が言ったように、私は下からÅで始まる名前を持つ必要があります。
どうすればこの問題を解決できますか?
ありがとうございます!
これも私が考えたものです。コードの仕方を教えてください。私は周りを探索し、まだ何も見つけていない。 – Magnus