2012-09-07 24 views
1

我解析一個JSON文件來構建一個對象圖。在反序列化JSON的同時,我使用塊驗證對象。如果任何對象發生任何驗證錯誤,我需要跳出進一步的塊處理。有沒有辦法突破嵌套塊 - 如breakswitch聲明?退出iOS中的嵌套塊處理

我正在運行iOS 5.0並使用ARC。請讓我知道,如果你想要一些代碼來幫助理解我的問題。

+3

出一個區塊的唯一出路是通過'return' – borrrden

+2

「請讓我知道你是否想要一些代碼來理解這一點。」總是發佈代碼,這是失敗的。 – vikingosegundo

+0

嗨Inforeq51 A,我編輯你的帖子,使其更清楚你問的問題。如果我錯誤地表達了你的問題,我表示歉意。請根據需要對其進行編輯,以澄清我錯過或錯誤的任何內容。 –

回答

4

解決方法是在類中添加一個__block BOOL ivar,讓它叫做'cancel'。當您發現錯誤時,請將'取消'設置爲是。在每個塊中,在每個循環中,只有在'取消'爲假時才能工作。

這樣,當錯誤被擊中且設置了取消時,一旦它們檢測到'取消'被設置,塊將基本上退出。

編輯:因爲我寫這個ivars不需要__block限定符(可能永遠不需要它,不知道)。當塊引用ivars時,他們通過一個「自我」指針,即自我>伊娃。

+0

非常感謝!!!!!!! –