我正在使用Swift和Parse.com为iOS 8开发一个应用程序。
我有一个有两个标签的应用程序。第二个选项卡查询我的Parse数据库中的一个表,我希望根据该Parse查询中对象的数量更新第二个选项卡的标记值。
我理解PFQueries是如何工作的,以及如何检索对象的数量等等,但是我不确定在哪里(即在什么方法/函数中)放置这个查询并更新选项卡的徽章?
将使用此代码或类似的代码来更新徽章值:
var tabArray = self.tabBarController?.tabBar.items as NSArray!
var tabItem = tabArray.objectAtIndex(1) as UITabBarItem
tabItem.badgeValue = "34" // will use the value of my countObjects Parse query那么,我应该在哪里插入这个代码来更新徽章呢?它需要更新值时,应用程序第一次加载,然后去/离开第二个选项卡的视图。
也许,在应用程序第一次启动时,选项卡视图是否有一个函数,甚至在通过tabBar访问视图之前就启动了?
发布于 2015-06-08 02:29:39
您应该关注视图的生命周期和这三个methods:viewDidLoad、viewWillAppear、viewWillDisappear
func updateBadgeValue() {
var tabArray = self.tabBarController?.tabBar.items as NSArray!
var tabItem = tabArray.objectAtIndex(1) as UITabBarItem
tabItem.badgeValue = "34" // will use the value of my countObjects Parse query
}
// first loads
override func viewDidLoad() {
super.viewDidLoad()
updateBadgeValue()
}
// the view is about to made visible
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
updateBadgeValue()
}
// the view is about to be removed
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
updateBadgeValue()
}https://stackoverflow.com/questions/30700294
复制相似问题