я ищу удобный способ добавления новых аргументов в несколько методов инициализации. это немного сложно описать, но моя проблема заключается в следующем:
У меня есть классная ведьма, реализующая различные методы инициализации. например
@interface Circle {
CGPoint center;
float radius;
}
- (id)initWithCenter:...radius:...;
- (id)initWithRect:...;
- (id)initWithPoly:...;
Теперь ф.э. Я хочу создать класс перекрестия в качестве подкласса. Поэтому я хочу добавить, возможно, несколько строк в качестве переменных экземпляра. Итак, проблема в том, что каждый объект-перекрестие должен быть инициализирован некоторыми конкретными значениями, но, конечно, методы инициализации круга не изменятся. поэтому я хочу каждый метод инициализации из суперкласса, но добавляю эти конкретные аргументы к каждому.
прямой способ (на мой неопытный взгляд) состоит в том, чтобы перезаписать каждый метод в ведьме, затем я вызываю соответствующий суперметод, а затем делаю свои вещи. Но это очень раздражает, если у вас есть 10 или более методов инициализации и вы просто хотите добавить к каждому из них одни и те же аргументы. Итак, я спрашиваю, есть ли лучший подход для этого? либо с возможностью модификации суперкласса, либо без.
большое спасибо