gpt4 book ai didi

ios - 实现 UITabBarControllerDelegate 不起作用

转载 作者:行者123 更新时间:2023-11-28 06:03:08 25 4
gpt4 key购买 nike

我创建了一个新类来实现UITabBarControllerDelegate,但是类中的方法没有被调用。

AppDelegate.swift:

func application() {
// ...

let controller = MyTabItemController()
let tabBarController = UITabBarController()
tabBarController.viewControllers = [controller]
tabBarController.delegate = MyTabBarControllerDelegate()

self.window?.rootViewController = tabBarController

// ...
}

MyTabBarControllerDelegate.swift:

class MyTabBarControllerDelegate: NSObject, UITabBarControllerDelegate{
func tabBarController(/*...*/) {
print("method invoked")
}
}

当我选择该项目时,未显示消息 "method invoked"

如果我让 AppDelegate 扩展 UITabBarControllerDelegate,一切正常,消息显示在控制台中。

我想知道为什么会这样?

最佳答案

UITabBarControllerdelegate 属性较弱。因此,您的委托(delegate)在分配后直接被释放。您应该通过强引用来保留委托(delegate)对象。

关于ios - 实现 UITabBarControllerDelegate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48983297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com