Swift编程风格

时间:2016-01-05 08:38:00

标签: ios swift

我在github中看到了一些源代码,如下所示: functional-swift

我们可以看到一个名为Ship的结构的定义,其中有一些变量。从下面的代码我们可以看到它中还有一些功能。它用以下样式编写:

struct xxx {
}

extension xxx {
    func yyy() {}
}

我还可以用以下样式确定结构:

struct xxx {
    func yyy() {}
}
那么两种风格有什么不同?有快速的编程风格指南吗?

2 个答案:

答案 0 :(得分:1)

从您的示例中,第一个是具有扩展名

的基本结构
struct xxx {
}

extension xxx {
function yyy() {}
}

另一个是内置函数的结构。

struct xxx {
function yyy() {}
}

想象一下你出于某种原因不能修改原始结构,但你仍然希望能够执行yyy() - >函数。你可以扩展类来调用函数yyy()而无需修改类本身(或改变它在程序中其他地方的行为方式)

"扩展可以为类型添加新功能,但它们不能覆盖现有功能。" (src:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html

- >当您无法访问某个类但希望添加某些功能时,扩展名很有用。使用扩展,您可以划分类并自定义类可以根据需要执行的操作。

答案 1 :(得分:0)

From the Swift docs

  

扩展为现有的类,结构,枚举或协议类型添加新功能。这包括扩展您无法访问原始源代码的类型的能力(称为追溯建模)。

因此,当您想要扩展已有的实现时,它的用处是有用的。 Apple有很好的文档,我强烈建议您阅读上面的链接。