Я пытаюсь подкласса NSColorPicker
и принять протокол NSColorPickingCustom
.Метод протокола Swift конфликтует с свойством суперкласса
NSColorPicker
имеет некоторые простые вычисляемые свойства, такие как
var buttonToolTip: String { get }
Но NSColorPickingCustom
требует методов с тем же именем, как и
func buttonToolTip() -> String
Если я реализовать метод buttonToolTop
, он конфликтует с суперкласса геттер с то же имя. Если я переопределяю вычисленное свойство, я не согласуюсь с протоколом. Если я попытаюсь использовать как, тогда, конечно, они конфликтуют друг с другом.
Есть ли способ для класса принять этот протокол при подклассификации NSColorPicker
?
Зачем вам нужно делать оба? Не было бы * либо * подклассификации или реализации протокола достаточно? –
NSColorPicker уже обеспечивает соответствие NSColorPickingDefault для вас (где, как представляется, существует требование 'buttonToolTip()'). Переопределение только вычисленного свойства кажется прекрасным. – jtbandes
@jtbandes точно прав. 'var buttonToolTip' имеет getter; что getter _is_ является эквивалентом 'func buttonToolTip()', который ищет NSColorPickingCustom. – matt