【发布时间】:2020-05-27 19:11:38
【问题描述】:
我正在做一个小项目,我有一个应用程序接收用户输入的电视节目信息并将其显示在自定义表格视图单元格中。我想根据用户正在播放的当前剧集对节目进行排序。我知道这段代码有效,因为我用 print 语句对其进行了测试,它对数组进行了排序,但它没有在模拟器上排序。所以我只是好奇我应该把它放在哪里,以便它在应用程序端进行排序。
func sortShows() {
let sortedShows = tvShows.sorted { $0.currentEpisode > $1.currentEpisode}
TVShowTableView.reloadData()
print(sortedShows)
}
这是我目前将其放置在视图控制器中的位置
extension TVShowListViewController: AddTVShowDelegate {
func tvShowWasCreated(tvShow: TVShow) {
tvShows.append(tvShow)
dismiss(animated: true, completion: nil)
TVShowTableView.reloadData()
sortShows()
}
}
【问题讨论】:
-
TVShowTableView是您的表格视图的实例吗?还是类?实例(vars)应该以小写开头,以帮助保持直截了当。如果它是实例/变量,请尝试在您的tvShowWasCreated()func 中取出TVShowTableView.reloadData(),因为您在完成排序后也会调用它。 -
是的,它是我的 tableView 的实例,我删除了额外的 .reloadData,我还更改了我的 tableview 实例的大小写。
-
这解决了您的问题吗?
-
不,没有,每次添加新节目后,单元格仍然不会更新。仅在编译器中
标签: ios arrays swift xcode user-interface