我有一个超类,需要设置一些属性才能正常工作。
我正在寻找一种方法来强制/通知/警告它必须设置这些属性的任何子类,所以任何子类这个超级的人都不会忘记这样做。
最好的做法是什么?(我正在编码 Obj-c)
谢谢谢
我有一个超类,需要设置一些属性才能正常工作。
我正在寻找一种方法来强制/通知/警告它必须设置这些属性的任何子类,所以任何子类这个超级的人都不会忘记这样做。
最好的做法是什么?(我正在编码 Obj-c)
谢谢谢
创建形式的指定初始化程序:
- (id)initWithProperty1:(Property1Type *)property1 property2:(Property2Type *)
{
self = [super init];
if (self) {
_property1 = property1;
_property2 = property2;
{
return self;
}
然后你可以覆盖标准初始化程序并强制它中止(有点苛刻),或者让它记录一条消息:
- (id)init
{
NSLog(@"You must use the designated initializer.");
return nil;
}
在您的类的文档中,请务必说明指定的初始化程序是什么。