0
我在我的一個方法中做了一些網絡連接,我希望方法爲return NO
,如果其中一個內部調用返回一個錯誤,就像停止循環一樣,提前停止執行。這可能嗎?你可以在Objective-C的早期返回一個方法嗎?
IMO它會生成更乾淨的代碼而不是使用BOOL標誌,並且「應該繼續執行此代碼?」如果聲明到處都是;然後最後在該方法結束時根據該標誌返回YES或NO。
任何想法都非常感謝!
我在我的一個方法中做了一些網絡連接,我希望方法爲return NO
,如果其中一個內部調用返回一個錯誤,就像停止循環一樣,提前停止執行。這可能嗎?你可以在Objective-C的早期返回一個方法嗎?
IMO它會生成更乾淨的代碼而不是使用BOOL標誌,並且「應該繼續執行此代碼?」如果聲明到處都是;然後最後在該方法結束時根據該標誌返回YES或NO。
任何想法都非常感謝!
是的,你可以。
return NO;
返回語句在函數和方法的任何地方都是可以接受的。我個人更喜歡使用早期返回,因爲它通常會導致更少的嵌套(並且因此代碼更易於理解)。
有幾個類似的問題在這裏:
同意對提前返回。一個警告;如果您使用的是retain-release(而不是垃圾收集),請務必在提前返回之前釋放所有保留的變量。 – bbum 2010-09-11 16:01:50
感謝您的回覆!這正是我在我的代碼中所做的,但該方法仍然執行到最後......所以我認爲是因爲我在終端中看到了一條我認爲是從方法內打印的日誌消息。事實證明,我打印的信息不是來自方法內部,而是從我調用方法的地方回來。愚蠢的錯誤。 我看着其他線程,但由於我的編碼錯誤,假設它會在ObjC中有所不同。 再次感謝! – lms 2010-09-11 16:19:38