使用swift中的新元素更新tableview

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用swift中的新元素更新tableview相关的知识,希望对你有一定的参考价值。

所以我在numberOfRowsInSection中有这一块代码来改变根据按下的侧边栏选项显示的数量(一个不同的tableView)。当用户选择索引#1时,他们应该只看到获取请求中存在的行数。当我更改索引时,什么都不会更新,我猜这是因为它没有被刷新/更新。我应该使用什么代码来正确更新它以及它应放在何处?

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete method implementation.
    // Return the number of rows in the section.
    if sidebarindex == 3{
    return feeds.count
    } else if sidebarindex == 2{
    return feeds.count
    } else if sidebarindex == 1{

        let moc = SwiftCoreDataHelper.managedObjectContext()
        var favNames: [String] = []
        let fetchRequestM = NSFetchRequest(entityName:"Favorite")
        if let favs = moc.executeFetchRequest(fetchRequestM, error: nil) as? [Favorite] {
            favNames = favs.map { $0.favoriteTitle }}

        if favNames.count != 0{
            return favNames.count
        }else{
            return 1
        }

    } else{
    return feeds.count
    }



}
答案

注意:ios和Swift的初学者,所以请告诉我,如果我错了。但这是我试图回答你的问题:

用于刷新tableView中的数据的代码将是:

tableView.reloadData()

在没有看到代码的情况下,我无法确切地说出放置它的位置,但是一个有根据的猜测是将它放在按下侧栏项时被激活的功能中。例:

@IBAction func sideBarItem1Pressed(sender: UIButton) {
    // Set the index here
    tableView.reloadData()
}

如果您使用代码更新帖子,我可以确定它的去向。

另一答案

迅速4

func reloadTableData(){

   self.tableMyList.reloadData()
}

以上是关于使用swift中的新元素更新tableview的主要内容,如果未能解决你的问题,请参考以下文章

IOS TableView 如何更新 TableView 中的元素

使用swift iOS8通过代码将约束设置到Storyboard中的元素

在swift 3中的tableview中更新tableviewcell中的特定行?

多次重新加载 TableView Swift

Swift 3 tableView 未在 reloadData() 上更新

如何在 swift 中仅为唯一值更新 TableView 行?