Я пытаюсь добавить заголовки в мой TableViewController, сортируя имена различных аниме-заголовков по первой букве имени в алфавитном порядке.aName - это свойство моего NSObject, называемого AnimeObject, где мои аниме-заголовки существуют в массиве managedAnime.Затем я сохраняю свои имена в основных данных, создавая управляемый объект NS с именем MyAnimeObject.Я беру данные из основных данных и сортирую их.Так что моя проблема в том, что я отлаживаю, я заметил, что моя функция словаря orderMyAnime возвращает только один заголовок раздела или animeSectionTitles, который является A. Мне нужно знать, почему это происходит, чтобы я мог это исправить, любая помощь будет принята с благодарностью.
Вот моя функция orderMyAnime:
func orderMyAnime()
{
for anime in MyAnime {
//Time to create a dictionary
//print(anime.aName)
let animeKey = String(describing: anime.aName?.startIndex)
//You need to read it one by one into an array
if var animeValues = MyAnimeDict[animeKey]
{
animeValues.append(anime)
MyAnimeDict[animeKey] = animeValues
}else{
MyAnimeDict[animeKey] = [anime]
}
}
for (key, value) in MyAnimeDict{
print(String(key), terminator: ": ")
for v in value{
print(v.aName!, terminator: ", ")
}
print("", terminator: "\n")
}
//Get the section titles from the dictionary and sort them in ascending order
//print(MyAnimeDict.keys)
animeSectionTitles = [String](MyAnimeDict.keys)
print (animeSectionTitles.count, "ordermyanime")// shows that I'm only returning a single title
animeSectionTitles.sort()
}
Вот моя функция с моими заголовками:
override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
//return animeSectionTitles[section]
if searchanimeController.isActive{
return "Search Result"
}
else{
let animeIndexTitles : [String] = ["A","B","C","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]
return animeIndexTitles[section]
// return animeSectionTitles[section]
}
}
Вот где я проверяю, возвращаю ли я что-нибудь и прихожукоротко о количестве секций у меня должно быть:
override func numberOfSections(in tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
if searchanimeController.isActive{
return 1
}else{
print (animeSectionTitles.count, "astcount")
return animeSectionTitles.count
}
}