快速实施撕裂的最佳方式?

时间:2016-02-25 07:55:14

标签: swift

我最近才开始使用Swift进行编码,而且我遇到了一个问题。对于我的几个快速类我需要一个撕裂机制,我想知道实现它的最佳方法是什么。让我解释一下:我需要为50多个课程中的3个实现扩展。由于代码很少被用户调用,我正在考虑撕掉而不是子类来改善内存占用。出于复杂的体系结构原因,无论如何,子类都不实用。所以我的想法如下:让我的三个班级主持一个TearOff?属性,仅在调用扩展的第一个方法时实例化,并从我的类调用tearoff,以便共享代码(非常复杂)。骨架:

class foo1 {}

class foo2 {}

class foo3 {}

class TearOff { func method() { blablablabla } }

extension foo1 { func method() {
  if nil == tearoff {
    tearoff = TearOff()
  }
  tearoff!.method()
}

extension foo2 { func method() {
  if nil == tearoff {
    tearoff = TearOff()
  }
  tearoff!.method()
}

extension foo3 { func method() {
  if nil == tearoff {
    tearoff = TearOff()
  }
  tearoff!.method()
}

我的问题是扩展程序只能托管方法,而不能托管属性,所以我不能将撕裂声明为TearOff?在三个扩展中。并且直接在foo1 foo2和foo3中声明它,尽管总是可行的,但实际上并不是最理想的。

感谢您提供的任何帮助。非常感谢!

0 个答案:

没有答案