在swift中扩展类型的最佳实践

时间:2017-09-12 09:52:18

标签: ios swift extension-methods

我一直在我的项目中使用扩展,因为我发现令人愉快的自定义级别。他们整洁地工作 - 所以不用担心。

我想在课堂上进行扩展,通常你会在课堂外声明它,但是在相同的文件中

如果我想在类似“阵列”的类型上进行扩展。然后我会在类之外声明扩展,但是在我需要扩展功能的同一文件中。但是,这种扩展功能的数据'现在可以在我项目的所有文件中使用。

我的问题是:如果我知道我需要在整个项目中使用某些扩展功能,那么在我声明此扩展名的情况下是否存在任何好/坏做法?

我的关注是在项目中的其他文件中使用新功能时,他们可能必须创建对声明扩展名的文件的引用。虽然我不知道这实际上是如何运作的。只是试图确保我不会无意中将所有文件与特定的viewcontroller / model或类似地互连。

1 个答案:

答案 0 :(得分:5)

enter image description here我通常不会在ViewControllers的任何地方实施扩展,因为如果5个VC对数组需要5种不同的扩展功能,那么我们必须编写扩展数组{ 5个VC中的,这将使得难以导航并找到扩展功能的实现。所以我实际做的是在项目层次中创建一个Extension文件夹,我将创建一个名为Array + Extension.swift的文件。所有与数组扩展相关的函数都将放在Array + Extension文件中。上面的图片将为您提供清晰的图片。