【问题标题】:Best practices for extensions of Types in swiftswift中类型扩展的最佳实践
【发布时间】:2017-09-12 09:52:18
【问题描述】:

我在我的项目中经常使用扩展程序,因为我觉得定制级别令人愉快。它们工作得井井有条 - 所以不用担心。

如果你想在你的类上做一个扩展,通常你会在类外声明它,但是在同一个文件中。

如果我想对像“数组”这样的类型进行扩展,那么我会在类之外声明扩展,但在我需要扩展功能的同一个文件中。但是,“Array”的这种扩展功能现在可以在我的项目中的所有文件中使用。

我的问题是:如果我知道我在整个项目中需要一些扩展功能,那么在我声明这个扩展的地方是否有任何好的/坏的做法?

我的担忧是,当在项目的其他文件中使用新功能时,他们可能必须创建对声明扩展名的文件的引用。虽然我不知道这实际上是如何工作的。只是想确保我不会无意中将所有文件与特定的视图控制器/模型或类似的互连。

【问题讨论】:

  • 不是真的!是的,可以在项目中的任何地方声明您的扩展!我要做的是制作一个 swift 文件并将其命名为我的扩展名,然后将我的所有扩展名都放在那里
  • 感谢您的意见。似乎“类型+扩展”是要走的路。 :=) 我会研究这篇文章。

标签: ios swift extension-methods


【解决方案1】:

我通常不会在 ViewController 的任何地方实现扩展,因为如果 5 个 VC 需要 5 个不同的扩展功能来实现 Array 那么我们必须编写 extension Array { } 在 5 个 VC 中,这将使导航和查找扩展功能的实现变得困难。所以我实际上做的是在项目层次结构中创建一个扩展文件夹,我将在其中创建一个名为 Array+Extension.swift 的文件。所有与数组扩展相关的函数都将放在 Array+Extension 文件中。上图会给你一个清晰的画面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    相关资源
    最近更新 更多