UIKit 会导入啥,我该如何找出答案?

Posted

技术标签:

【中文标题】UIKit 会导入啥,我该如何找出答案?【英文标题】:What gets imported with UIKit, and how do I find out?UIKit 会导入什么,我该如何找出答案? 【发布时间】:2015-05-12 02:53:00 【问题描述】:

当使用 Objective-C 和导入标头时,导入的内容对我来说是有意义的。例如,我只需要导入 UIKit,但我可以使用 CoreGraphics,例如。我如何知道每个框架使用 Swift 导入了哪些其他框架?我所做的只是导入 UIKit,但我仍然可以使用 Core Graphics。我已经搜索了文档,但框架参考没有提到它。

【问题讨论】:

【参考方案1】:

打开您的 Swift 源文件。找到import UIKit 行。命令单击单词UIKit。你会看到 UIKit 导入了什么:

import Foundation
import UIKit.NSAttributedString
import UIKit.NSFileProviderExtension
import UIKit.NSLayoutConstraint
import UIKit.NSLayoutManager
import UIKit.NSParagraphStyle
import UIKit.NSShadow
import UIKit.NSStringDrawing
import UIKit.NSText
import UIKit.NSTextAttachment
import UIKit.NSTextContainer
... many more

按住 Command 键并单击第一行上的单词 Foundation 以查看它导入的内容:

import CoreFoundation
import CoreGraphics
import Foundation.FoundationErrors
import Foundation.NSArray
import Foundation.NSAttributedString
import Foundation.NSAutoreleasePool
import Foundation.NSBundle
import Foundation.NSByteCountFormatter
import Foundation.NSByteOrder
... many more

重复直到无聊或满意。

【讨论】:

天哪,这太棒了。无论如何可以通过其他方式访问它(例如您可以导航到文件浏览器中的 objc 头文件的方式)?我想我的主要问题是,我在哪里可以了解更多关于 Swift 模块的信息?我一直在搜索文档并阅读 iBook,但这仍然是一个谜。 Apple 的 Swift 文档现在非常稀少。在 Xcode 中通过命令单击可以找到的内容几乎就是所有内容。 请注意,仅仅因为 FrameworkA 导入 FrameworkB(例如 SwiftUI 导入 Combine),您可能无法自动访问它。我很困惑,在这里问了question,如果其他人有兴趣。【参考方案2】:

请参阅documentation on Swift。

【讨论】:

以上是关于UIKit 会导入啥,我该如何找出答案?的主要内容,如果未能解决你的问题,请参考以下文章

我该如何生成初始化向量?

Clojure:如何在运行时找出函数的arity?

对所有用户应用程序进行theos调整

为啥我的财产可能会泄漏,我该如何解决?

为啥我的工具输出会覆盖自身,我该如何解决?

我该如何解决modulenotfounderror:没有名为'kivy'的模块错误?