そのように定義された指定された初期化子を持つクラスを作成しました:
-(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]);
}
これは良い解決策ですか?