私のviewControllerでtableViewを使用して、fetchedResultsControllerを使用してCore Data Databaseからフェッチされたオブジェクトのリストを持っています。フェッチされたすべての結果をセクションごとにグループ化しました。sectionIndexTitles(tableView:UITableView)メソッドは奇妙な結果を返します
func sectionIndexTitles(for tableView: UITableView) -> [String]? {
let indexTitles = self.fetchedResultsController.sectionIndexTitles
return indexTitles
}
func tableView(_ tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int {
return self.fetchedResultsController.section(forSectionIndexTitle: title, at: index)
}
私もfetchedResultsController
var fetchedResultsController: NSFetchedResultsController<Object>!
self.fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context!, sectionNameKeyPath: "project.group.name", cacheName: nil)
sectionIndexTitlesのこの宣言を持っている罰金しばらく動作します:それは、私がテーブルビューの右側に表示されAZ sectionIndexesを有効にするには、次のメソッドを実装しました正常に動作します私はCore Dataデータベースのgroup.nameの値を持っていますが、group.nameの値が別の言語(または英語と混在していない英語)の場合、sectionIndexTitles
は私に英語の文字を表示していますが、疑問符や英文を返します。
たとえば、["A", "B", "F", "G", "R", "S", "Letter in another language", "Letter in another language"]
のような配列を返す代わりに、["A", "B", "F", "G", "R", "S", "A", "E"]
のような配列を返します。 言語スキームを変更しました。["A", "B", "F", "G", "R", "S", "?", "?"]
を返します。 別の言語の値を表示するのではなく、英語以外の文字を英語の文字で置き換えたり、「?」を表示します。それはバグではないにしてください
?あるいは、異なる言語の文字を表示することはできません。どこに問題があり、それを解決することができますか?
私はSwift 3、Xcode 8.3.3を使用しています。