如何从Helper类更新UITabBarController?

时间:2016-11-17 03:12:45

标签: ios swift

我有一个这样的帮助类:

class NotificationHelper {

    var managedObjectContext: NSManagedObjectContext!

    init(context: NSManagedObjectContext) {
        //super.init()

        managedObjectContext = context
    }

    //functions related to Core Data

    //update Badge
    func updateBadge() {
            var count = 1
            let currentCount = self.tabBarController?.tabBar.items?[3].badgeValue

            if currentCount != nil {
                count = Int(currentCount!)! + 1
            }

            self.tabBarController?.tabBar.items?[3].badgeValue = String(count)
    }
}

我只是不确定如何获取对tabBarController的引用,以便我可以更新它。我试着让这个类继承自UIViewController,但我想我在那里走错了路。

另外,我是否正确传递了managedObjectContext?这样这个类就能访问Core Data。

1 个答案:

答案 0 :(得分:1)

解决。

我没有尝试从某个地方继承,而是决定在需要时将UITabBarController作为参数传递:

func updateTabBarBadge(tabBarController: UITabBarController) {

这只是意味着每次我想要更新它时都必须调用updateTabBarBadge,而不是让其他函数为我更新它。