【发布时间】:2020-09-02 18:18:46
【问题描述】:
我使用 Coredata 将我的应用程序的数据保存在一个名为 Homework 的列表中。在我的一个视图控制器 .swift 文件中,我有以下代码:
import UIKit
import CoreData
class HomeworkTableViewController: UITableViewController {
var homeworks = [Homework]()
func get() {
print(homeworks.count)
}
// trucated...
}
打印出1
但是,在另一个视图控制器中,我有以下代码:
import UIKit
import CoreData
class HomeworkViewController: UINavigationController {
var homeworks = [Homework]()
@IBOutlet weak var theHomeworkTabBarItem: UITabBarItem!
override func viewDidLoad() {
super.viewDidLoad()
gameTimer = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(plsReloadData), userInfo: nil, repeats: true)
// Do any additional setup after loading the view.
//theHomeworkTabBarItem.badgeValue = "test"
}
@objc func plsReloadData() {
print(homeworks.count)
if homeworks.count != 0 {
theHomeworkTabBarItem.badgeValue = String(homeworks.count)
} else {
theHomeworkTabBarItem.badgeValue = nil
}
}
}
打印出0。
为什么它们不一样?
【问题讨论】:
-
你在代码中的什么地方实际加载了核心数据中的值?
-
这是我的问题,我从来没有在第二个脚本中加载它。不过,我添加了这个。
标签: swift xcode core-data count