In meinem ViewController mit TableView darin habe ich die Liste der Objekte von Core Data Database mit abgerufenenResultsController abgerufen. Ich habe alle abgerufenen Ergebnisse nach Abschnitt gruppiert. Es funktioniert gut, habe ich die folgenden Methoden implementiert AZ sectionIndexes zu ermöglichen, die auf der rechten Seite des Tableview angezeigt:sectionIndexTitles (für TableView: UITableView) -Methode gibt seltsame Ergebnisse zurück
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)
}
Ich habe auch diese Erklärung von fetchedResultsController
var fetchedResultsController: NSFetchedResultsController<Object>!
self.fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: context!, sectionNameKeyPath: "project.group.name", cacheName: nil)
sectionIndexTitles funktioniert gut, während Ich habe Werte für group.name in Englisch in meiner Core Data-Datenbank, aber wenn ich group.name Werte in einer anderen Sprache habe (oder Englisch gemischt mit nicht Englisch) sectionIndexTitles
zeigt mir englische Buchstaben zurück, aber für nicht englische Buchstaben es gibt mir Fragezeichen oder englische Buchstaben zurück.
zum Beispiel gibt es das Array wie folgt ["A", "B", "F", "G", "R", "S", "A", "E"]
zurück, anstatt das Array wie dieses ["A", "B", "F", "G", "R", "S", "Letter in another language", "Letter in another language"]
zurückgeben. Ich habe das Sprachschema geändert und es gibt ["A", "B", "F", "G", "R", "S", "?", "?"]
zurück. Es ersetzt nicht englische Buchstaben durch englische Buchstaben oder "?", Anstatt den Wert in einer anderen Sprache anzuzeigen.
Nicht sicher, ob es ein Fehler ist? Oder vielleicht kann es keine Buchstaben in verschiedenen Sprachen zeigen. Wo kann das Problem sein und wie kann man es lösen?
Ich verwende Swift 3, Xcode 8.3.3.