快速等效于C中的头文件?

时间:2019-01-11 19:04:41

标签: c swift

我有一个简单的问题。在我的Xcode项目中,我有多个函数在多个视图控制器中多次使用。为了整理代码,我想制作另一个包含这些功能的文件,以使我在Viewcontrollers中的代码变得不那么繁琐。在C中,您可以使用头文件执行此操作,但是我不知道如何在Swift中执行此操作。我搜索了一些基本关键字,但在google上找不到任何内容。

2 个答案:

答案 0 :(得分:4)

这不是您通常应该对C中的头文件执行的操作。这只是代码重用。

如果您具有纯函数,则只需定义函数并将其放入文件中即可。

如果您希望视图控制器具有访问方法,通常可以通过定义协议并通过扩展添加方法来实现。例如:

protocol ExtraMethods {}

extension ExtraMethods {
    func doSomething() -> Int { return 1 }
}

class MyViewController: UIViewController, ExtraMethods {}

或者,您可以将方法添加到所有视图控制器,也可以将ExtraMethods限制为视图控制器(extension ExtraMethods where Self: UIViewController)。有许多扩展方法。但是没有一个与C头文件有关。

答案 1 :(得分:2)

尽管Swift确实具有头文件,但它们并不是您要查找的。

如果您只想将代码分解成可重用的单元,那么Swift是一种面向对象的语言,您应该organize your code into classesprotocols (which I believe everyone else calls interfaces)一样。

关于将代码组织成多个文件,请使用Swift Package Manager。该文档包含许多简单的示例,例如example-package-playingcard