退出iOS中的嵌套块处理

问题描述:

我解析一个JSON文件来构建一个对象图。在反序列化JSON的同时,我使用块验证对象。如果任何对象发生任何验证错误,我需要跳出进一步的块处理。有没有办法突破嵌套块 - 如breakswitch声明?退出iOS中的嵌套块处理

我正在运行iOS 5.0并使用ARC。请让我知道,如果你想要一些代码来帮助理解我的问题。

+3

出一个区块的唯一出路是通过'return' – borrrden

+2

“请让我知道你是否想要一些代码来理解这一点。”总是发布代码,这是失败的。 – vikingosegundo

+0

嗨Inforeq51 A,我编辑你的帖子,使其更清楚你问的问题。如果我错误地表达了你的问题,我表示歉意。请根据需要对其进行编辑,以澄清我错过或错误的任何内容。 –

解决方法是在类中添加一个__block BOOL ivar,让它叫做'cancel'。当您发现错误时,请将'取消'设置为是。在每个块中,在每个循环中,只有在'取消'为假时才能工作。

这样,当错误被击中且设置了取消时,一旦它们检测到'取消'被设置,块将基本上退出。

编辑:因为我写这个ivars不需要__block限定符(可能永远不需要它,不知道)。当块引用ivars时,他们通过一个“自我”指针,即自我>伊娃。

+0

非常感谢!!!!!!! –