gpt4 book ai didi

ios - 如何从 UIViewController 获取 CLASS

转载 作者:行者123 更新时间:2023-11-29 05:51:19 25 4
gpt4 key购买 nike

我有 UIViewController 以及如何将 UIViewController 转换为 Class.swift。类已初始化...

MainController.staticInstance.viewControllers?[1] as! Destination

MainController是扩展UITabBarController的类。我想从 UITabBar 获取子 Controller 并将其转换为 Class which Parent。

明显的例子:

class MainController: UITabBarController {
override func viewDidLoad() {
(self.viewControllers?[1] as! Destination).itsMyFunction();
}
}

最大细节:

1 类

class First: UIViewController {
func itsMyFunction() {
print("Hello world!")
}
}

这是我附加到 Storyboard中的类(class)!

2级

class MainController: UITabBarController {
func override viewDidLoad() {
// Here I set index UITabBar ITEM which attach to MAIN UiTabBarController
self.selectedIndex = 0
// NOW I want to get INSTANCE CLASS First
(self.viewControllers?[1] as! First).itsMyFunction();
}
}

最佳答案

您能按照这个设置示例进行操作吗?

class TabBarViewController: UITabBarController {

let firstVC = First()
let secondVC = SecondViewController()

override func viewDidLoad() {
super.viewDidLoad()

firstVC.tabBarItem = UITabBarItem(tabBarSystemItem: .search, tag: 0)
secondVC.tabBarItem = UITabBarItem(tabBarSystemItem: .more, tag: 1)

let tabBarList = [firstVC, secondVC]

viewControllers = tabBarList

if let destination = viewControllers?.first as? First {
destination.itsMyFunction()
}
}
}

您似乎无法获取 controllerClass 实例,因为根据您发布的代码,您的 viewControllers 数组为空。让我知道它是否有效。

关于ios - 如何从 UIViewController 获取 CLASS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55646560/

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