因為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里面的東西的時候就可以重繪了!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/390656.html
標籤:其他
下一篇:Android登陸注冊
