0

変換可能なフィールドに暗号化されたNSStringストアがあります。すべての値をアルファベット順に復号化して一覧表示する必要があります。

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] 
                                    initWithKey:@"trans_word" 
                                    ascending:YES
                                    comparator:^NSComparisonResult(id obj1, id obj2) {
    NSString* s1 = [encryptObj decryptingfromValue:obj1]; 
    NSString* s2 = [encryptObj decryptingfromValue:obj2]; 
    NSLog(@"xxx");
    return [s1 compare:s2];
}];
NSArray *sortDescriptors = [NSArray arrayWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

ブロックのパフォーマンスが低下しているようです。ヒントを教えてください。ありがとう!

4

1 に答える 1

1

iOSおよび10.6より前のOSXで、SQLiteベースのストアを使用している場合、ブロック述語はサポートされていません。

特別な考慮事項

Mac OS X v10.6では、Core Dataはインメモリストアとアトミックストアでこのメソッドをサポートしていますが、SQLiteベースのストアではサポートしていません。(リンク)

于 2012-06-24T02:21:48.160 に答える