有没有在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,所有控制器都从它派生出来,但如果我可以分解它,并让特定的控制器继承特定的行为,那就更好了。