指定された初期化子について一般的な質問があります。私はいくつかのクラスを持っていて、そこからイニシャライザーを呼び出したいのですが、@プロパティにデータの受け渡しを開始する前に、データをデフォルトにしたいです。例えば:
-(id)initWithDefault:(NSDictionary*)defaultTemplate
{
self = [super init];
_fontColor = [defaultTemplate objectForKey:@"color"];
_fontSize = [[defaultTemplate objectForKey:@"size"] intValue];
return self;
}
-(id)initWithTemplate:(NSDictionary*)template
{
self = [self initWithDefault:myDefaultTemplate];
//now i doing something with my template
return self;
}
これはnull@propertiesを防ぐ方法ですか?これは指定された初期化子の正しい使用ですか?もちろん、myDefaultTemplatesはnullではなく、キーにnullオブジェクトがないと想定できます。