gpt4 book ai didi

swift - 在Swift中重新加载Tableview

转载 作者:行者123 更新时间:2023-11-30 13:31:32 27 4
gpt4 key购买 nike

我目前正在快速处理基于tableView的项目。我的项目中正在运行两个tableView。当我的第一个tableView加载了具有editActionsForRowAtIndexPath函数的数据时,该函数可以删除单元格(作为收藏夹)并将其移动到我的第二个tableview中。

但是,在将tableViewCell移到第二个tableView之后,我在保存数据以及在第一个和第二个TableView Controller上重新加载tableview时遇到了麻烦...

 var arrays = ["Alpha","Beta","Gamma","Phill","Below","Above","Clean",]
var deleted: [String] = []
//passing data to another tableVC
var sendSelectedData = NSString()
let defaults = NSUserDefaults.standardUserDefaults()

override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {

let favorite = UITableViewRowAction(style: .Normal, title: "Favourite") { action, index in
print("favourite button tapped")
let editingStyle = UITableViewCellEditingStyle.Delete
if editingStyle == UITableViewCellEditingStyle.Delete {
self.tableView.beginUpdates()
self.deleted.append(self.arrays[indexPath.row])
self.arrays.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
self.tableView.endUpdates()
}
}

favorite.backgroundColor = UIColor.orangeColor()
return [favorite]
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "ShowDetails") {
// initialize new view controller and cast it as your view controller
let viewController = segue.destinationViewController as! favTableViewController
// your new view controller should have property that will store passed value
viewController.arrayx = deleted
}
}


我不确定是否必须使用NSUserDefaults函数保存数据或只是重新加载tableview。

提前致谢。

最佳答案

如果要更新UI,可以只从主线程重新加载每个tableView。希望这可以帮助。

代码段:

DispatchQueue.main.async {
self.tableView.reloadData()
}

关于swift - 在Swift中重新加载Tableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com