Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
swift相当于C中的头文件?_C_Swift - Fatal编程技术网

swift相当于C中的头文件?

swift相当于C中的头文件?,c,swift,C,Swift,我有一个简单的问题。在我的Xcode项目中,我有几个函数在几个ViewController中多次使用。要分离代码,我想创建另一个包含这些函数的文件,这样ViewController中的代码就不会因为代码过多而变得臃肿。在C语言中,你可以用头文件来做这件事,但我不知道如何用Swift来做。我搜索了一些基本的关键字,但在google上没有找到任何内容。这通常不应该用C语言处理头文件。这只是代码重用 如果您有纯函数,那么只需定义函数并将其放入文件中即可 如果您有希望视图控制器能够访问的方法,通常可以通

我有一个简单的问题。在我的Xcode项目中,我有几个函数在几个ViewController中多次使用。要分离代码,我想创建另一个包含这些函数的文件,这样ViewController中的代码就不会因为代码过多而变得臃肿。在C语言中,你可以用头文件来做这件事,但我不知道如何用Swift来做。我搜索了一些基本的关键字,但在google上没有找到任何内容。

这通常不应该用C语言处理头文件。这只是代码重用

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

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

protocol ExtraMethods {}

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

class MyViewController: UIViewController, ExtraMethods {}

或者,您可以向所有视图控制器添加方法,也可以将
ExtraMethods
限制为查看控制器(
extensionextramethods,其中Self:UIViewController
)。有许多具有扩展的方法。但是没有一个与C头文件相关。

虽然Swift有头文件,但它们不是您想要的

如果您只想将代码分解为可重用的单元,那么Swift是一种面向对象的语言,您也应该这样做


至于将代码组织成多个文件,请使用。文档中有许多简单的示例,如。

我认为您需要的是类或结构,而不是头文件。我认为您只需创建一个类或结构,就可以在其他文件中使用它的方法,而无需任何类型的include。可能的重复。