【发布时间】:2011-04-08 21:49:18
【问题描述】:
在 Objective-C 中是否有任何技术可以模拟特征或 mixin?
例如,在 Scala 中,我可以这样做:
trait ControllerWithData {
def loadData = ...
def reloadData = ...
def elementAtIndex = ...
}
trait ControllerWithStandardToolbar {
def buildToolbar = ...
def showToolbar = ...
def hideToolbar = ...
}
class MyTableController extends ControllerWithData
with ControllerWithStandardToolbar {
def loadView = {
super.loadView
loadData
buildBar
}
}
它基本上是一种将多个功能组合(或混合)到一个类中的方法。所以现在我有一种通用的 UIViewController,我的所有控制器都从它继承,但是如果我可以分解它并让特定的控制器继承特定的行为会更整洁。
【问题讨论】:
-
想解释一下特征和混合是什么?这些概念可能受支持,但名称不同。
-
看起来有人在这里实现了 Obj-C 特征:etoileos.com//news/archive/2011/07/12/1427
标签: objective-c traits mixins