定义子类必须实现的属性

时间:2013-10-04 14:03:08

标签: ios objective-c protocols

我有一个超类,需要设置一些属性才能正常工作。

我正在寻找一种方法来强制/通知/警告它必须设置这些属性的任何子类,所以任何一个超级这个超级的人都不会忘记这样做。

最佳做法是什么? (我正在编写Obj-c

由于 晒

1 个答案:

答案 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;
}

在课程文档中,请务必说明指定的初始化程序。