我有inits對象的方法,它有一個完成的塊:typedef void(^initCompletionHandler)(BOOL succesful);
方法,其使用完畢塊,並返回一個對象
在這個方法中我要調用的處理程序,但我不知道該怎麼辦呢因爲如果我在返回之前調用它,對象將不會完成初始化,這將在下一行中立即使用。我顯然不能在返回後調用處理程序。我,電子:
if(haveError){
handler(NO);
}
else{
handler(YES);
}
return self;
有什麼辦法可以返回並在同一時間調用處理程序?
我建議你創建一個類工廠的方法,並使用它而不是alloc/init – Paulw11 2015-03-31 11:08:56
@ Paulw11我建議即使你實現了工廠方法,你可能不想啓動這個過程,導致完成'處理程序「被調用。 – Rob 2015-03-31 11:56:01
是的,我真的不是OPs方法的粉絲 - 處理程序應該從初始化後在對象上調用的方法調用。 – Paulw11 2015-03-31 11:58:06