Поскольку Objective-C не поддерживает множественное наследование, существует ли какой-то другой механизм для обмена кодом между классами?
Я пишу библиотеку Какао поверх существующей XML-схемы. Многие элементы в схеме (например,) используются в нескольких типах. Я надеялся как-то централизовать это, чтобы мне не пришлось добавлять @property NSString *name
и связанный код для генерации xml для свойства name в каждом отдельном классе, который имеет атрибут name. Это было бы довольно просто, если бы поддерживалось множественное наследование, но я не знаю, как это сделать иначе.
Лучшее, что я могу придумать, - это создать общий суперкласс, который имеет расширенный набор методов для кодирования каждого необязательного свойства, а затем вызвать соответствующие методы (т. Е. encodeName
) в методе кодирования для каждого класса. Похоже, это лучший путь?