swift tabbar页面切换时刷新的方法
Posted Show Maker
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift tabbar页面切换时刷新的方法相关的知识,希望对你有一定的参考价值。
因为tabbar页面切换是不走
override func viewDidLoad()
的
只有你第一次切换的时候会走这个,之后再切换回你tabbar里面的这个页面的时候是不会走这个方法的。
所以你需要重写viewWillAppear
!
举个例子,重写的写法:
你原本只有这个viewDidLoad
override func viewDidLoad()
super.viewDidLoad()
self.tableView.rowHeight = 80
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "You")
do
let result = try managedObjectContext.fetch(request)
allScore = result as! [You]
catch
print("取出失败")
if(allScore.isEmpty)
let item: You
item = NSEntityDescription.insertNewObject(forEntityName: "You", into: managedObjectContext) as! You
item.totalScore = 0
print("是空的,要再加一下")
//获取总分的方法
fetchYou()
//获取事项item的方法
fetchAllRewars()
//再弄一次
totalScore.title = String(allScore[0].totalScore)
我需要在这个代码的页面的上面写一个
override func viewWillAppear(_ animated: Bool)
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "You")
do
let result = try managedObjectContext.fetch(request)
// allScore = result as! You
allScore = result as! [You]
catch
print("取出失败")
if(allScore.isEmpty)
let item: You
item = NSEntityDescription.insertNewObject(forEntityName: "You", into: managedObjectContext) as! You
item.totalScore = 75
print("第一个有运行")
//获取总分的方法
fetchYou()
//获取事项item的方法
//再弄一次
totalScore.title = String(allScore[0].totalScore)
然后每次切换tabbar里面的东西的时候就可以刷新了!!
以上是关于swift tabbar页面切换时刷新的方法的主要内容,如果未能解决你的问题,请参考以下文章