我用指定的初始值设定项创建了一个类,方法如下:

-(id)initWithFrame:(CGRect)frame
          aProperty:(float)value {

    self = [super initWithFrame:frame];

    if(self){
        ///....do something
    }
}

现在,我想知道如何避免直接调用initWithFrame方法,例如:
MyClass *theObj = [MyClass alloc]initWithFrame:theFrame];

我考虑过在initWithFrame定义中引发异常:
- (id)initWithFrame:(CGRect)frame
{
    @throw ([NSException exceptionWithName:@"InitError"
                                    reason:@"This class needs to be initialized with initWithFrame:aProperty: method"
                                  userInfo:nil]);
}

这是一个好的解决方案吗?

最佳答案

如何使用aProperty的默认值调用指定的初始化程序呢?

关于objective-c - 指定的初始化程序和initWithFrame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10445531/

10-11 14:43