我最近做了一些功能,如下列之一:檢查是否創建了對象:很好的風格?
-(BOOL)registerSomethingWithParameter:(Parameter*) param
{
Something* some = nil;
if ([self checkParameter:param])
{
some = [[Something alloc] myInitCallWithParameter:param];
}
return (some ? YES : NO);
}
有大約在代碼中使用?
多次討論。你怎麼看?這是否是一種正確的方式來告訴調用函數,沒有返回對象,一切正常?
我也想過:在Something
-Definition中檢查myInitCallWithParameter:
中的有效參數不是更好嗎,但大多數這些類都很小,只存儲少量值。因此,在輸入if時,會導致創建爲零的所有內容都會被檢查。
這是一個很好的風格。 –
不明白爲什麼要創建一個Something對象? – CW0007007
一個常見的Cocoa替代方法是添加另一個類型爲「NSError **」的參數,如果出現錯誤,它將包含錯誤。但是,如果你看Apple許多方法,他們也會返回一個BOOL(例如' - (BOOL)setInputGain :(浮點數)增益錯誤:(NSError **)outError') –