10

ここで解決策を試してください: https ://stackoverflow.com/questions/1741093?tab = newest#tab-top

私は一時的なプロパティとカテゴリソリューションを使用していますが、インデックス文字が再びAにラップアラウンドし始めるまでは機能しているようですが、なぜそれが行われているのかわかりません。カテゴリ/一時的なゲッターが何を返しているかをログに記録するだけです。 uppercaseFirstLetterOfName。

nameプロパティを使用して並べ替えてから、fetchRequestのsectionNameKeyPathをuppercaseFirstLetterOfNameに設定しています。

完全なエラーは次のとおりです。NSFetchedResultsControllerエラー:インデックス248でフェッチされたオブジェクトのセクション名が「Y」になっています。オブジェクトはセクション名でソートする必要があります'

私が間違っていたかもしれないアイデアや、問題を追跡する方法さえありますか?

4

1 に答える 1

28

問題を見つけました。ソートが大文字と小文字の重複を生成していたので、私は推測しますが、インデックスタイトルは、インデックス/セクション名の順序が正しくありませんでした。

これをフェッチセレクターに追加しました:@selector(caseInsensitiveCompare :)

NSSortDescriptor * sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@ "name" ascending:YESセレクター:@selector(caseInsensitiveCompare :)];

クラッカージャックで動作します!

于 2010-06-28T19:46:25.803 に答える