我有一个超类,需要设置一些属性才能正常工作。
我正在寻找一种方法来强制/通知/警告它必须设置这些属性的任何子类,所以任何一个超级这个超级的人都不会忘记这样做。
最佳做法是什么? (我正在编写Obj-c )
由于 晒
答案 0 :(得分:0)
创建表格的指定初始值设定项:
- (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;
}
在课程文档中,请务必说明指定的初始化程序。