0

我正在使用 Evernote API,但我不确定如何正确管理块的工作,而我的代码不会变得非常混乱并且到处都是。

API 包括这种风格的方法:

[object doSomethingWithSuccess:^(NSObject *anotherObject) {
    NSLog(@"success!");
} failure:(NSError *error) {
    NSLog(@"failure!");
}

在那之后,我必须根据它的成功运行另一个类似的方法,然后再基于它运行另一个类似的方法。

我也有一个问题,我真的只想运行一个方法,该方法执行某些操作,然后在花费多长时间后返回,但我无法从块内返回。

人们如何处理这个问题?

一个例子:

在某些情况下,我想创建一个笔记本,然后做其他事情。“别的东西”每次都不一样。我永远不会把代码连接到使用标准代码,我会运行一个方法:

[self connect];

//Do the 'something else'

但是在这种情况下,我什至想不出一种方法可以做到这一点,除了将 [self connect] 中的代码复制并粘贴到我想连接的任何地方,然后在完成中运行下一段代码处理程序。

4

1 回答 1

1

要根据成功运行其他事情,您只需从块内调用它们 - 如果它是另一个需要另一个块的操作,通常人们只是嵌套它们。

您必须创建另一个在块完成时调用的方法,而不是从块内返回。

于 2013-07-01T16:06:41.920 回答