我创建了一个名为RCTextField的自定义类,其目的是创建一个带圆角的NSTextField(因此RC...)。
RCTextField继承自NSTextField并重写drawRect:方法,以便创建自己的圆角矩形。
现在,我想对NSSecureTextField做同样的事情,也就是说,有办法使它具有圆角。我不能只是让它继承RCTextField,因为那个对.cc>的文本没有任何安全的实现。
如果我继承了NSSecureTextField,我将不得不重写所有的NSSecureTextField实现。
我考虑的一个选项是拥有一个名为drawRect:的静态方法的RCBaseTextField类,并在drawRect:forNSTextField:withParams:drawRect:RCTextField中调用一个。然而,这看起来有点老套,而且感觉在objective-c中可能有更好的oop方法来实现这一点。
那么,在RCSecureTextFieldRCTextField之间共享RCTextField中的绘图圆角代码的最佳/sanest/软件工程-“esquest”方法是什么?

最佳答案

不幸的是,您不能使objective-c从其他多个类继承行为。我认为提供一个函数(使用面向对象的语言不阻止在适当的时候使用函数)将被两个调用drawRect:实现都是比较简单的方法。
或者您可以忽略NSSecureTextField并使RCSecureTextFieldRCTextField继承。然后实现类方法cellClass返回NSSecureTextFieldCell,并得到与NSSecureTextField相同的精确特征。
@接口rcsecuretextfield:rctextfield
@结束
实现RCSECURE文本字段
+(类)cellClass{返回[nsSecureTextFieldCell类];}
@结束

10-04 19:15