理解 Obj-C 中的 UITabBarController 子类初始化代码

Posted

技术标签:

【中文标题】理解 Obj-C 中的 UITabBarController 子类初始化代码【英文标题】:Understanding UITabBarController subclass initializer code in Obj- C 【发布时间】:2015-06-21 06:05:29 【问题描述】:

我在 GitHub 上找到了一个项目,并试图在我的 Swift 项目中实现它。我坚持以下行的语法:

YALFoldingTabBarController *tabBarController = (YALFoldingTabBarController *) self.window.rootViewController;

我不知道如何在 AppDelegate 中初始化这一行。任何有关此行含义的帮助和解释将不胜感激。该项目可以在here找到。

【问题讨论】:

【参考方案1】:

该代码应该翻译成类似的东西

let tabBarController: YALFoldingTabBarController = self.window.rootViewController as! YALFoldingTabBarController

希望有帮助:)

【讨论】:

【参考方案2】:
if let tabBarController = self.window.rootViewController as? YALFoldingTabBarController 


不过,这条线并没有多大作用。它所做的只是从UIViewController 转换为YALFoldingTabBarController

【讨论】:

以上是关于理解 Obj-C 中的 UITabBarController 子类初始化代码的主要内容,如果未能解决你的问题,请参考以下文章

Obj-C 的 Swift 桥接头

Obj-C 的 Swift 桥接头

- (id) 来自 Swift 中的 Obj-C Lib?

崩溃 [RMMessageFormatter getFormatedStatusFromDisk] (IOS obj-c)

Obj-C:从导航控制器中的 detailViewController 传回参数

识别字母顺序OBJ-C中的字符