Има ли някакви техники за емулиране на характеристики или миксини в Objective-C?
В 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, от който всички мои контролери подкласират, но би било по-спретнато, ако мога да разбия това и да накарам конкретни контролери да наследят специфично поведение.