所以我在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()
}