我正在使用 Swift 和 Parse.com 为iOS 8开发应用。
我有一个带有2个标签的应用。第二个选项卡查询我的Parse数据库中的表,我想根据该Parse查询中的对象数更新第二个选项卡的徽章值。
我理解PFQueries如何工作以及如何检索对象的数量等,但我不确定 WHERE (即在什么方法/函数中)来放置此查询并更新选项卡项&# 39; s徽章?
将使用此代码或类似代码来更新徽章值:
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访问视图之前,应用程序首次启动时是否有一个选项卡视图的功能?
答案 0 :(得分:0)
您应该关注视图的生命周期以及这三种方法: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()
}