我正在使用Evernote API,而且我不确定如何正确管理使用块,而不会让我的代码变得非常混乱并且到处乱窜。
API包含此样式的方法:
[object doSomethingWithSuccess:^(NSObject *anotherObject) {
NSLog(@"success!");
} failure:(NSError *error) {
NSLog(@"failure!");
}
之后,我必须根据成功的方法运行另一个类似的方法,然后基于该方法运行另一个类似的方法。
我也有一个问题,我真的只想运行一个做某事的方法,然后在需要很长时间后返回,但我不能从块内返回。
人们如何处理这个问题?
一个例子:
在某些情况下,我想创建一个笔记本,然后做其他事情。 “别的东西”每次都不同。我永远不会把代码连接到标准代码,我会运行一个方法:
[self connect];
//Do the 'something else'
但是在这种情况下,除了将[self connect]中的代码复制并粘贴到我想要连接的任何地方,然后运行下一段代码之外,我甚至无法想到一种方法可以做到这一点。在完成处理程序中。
答案 0 :(得分:1)
要根据成功运行其他事情,你只需从块中调用它们 - 如果它是另一个需要另一个块的操作,通常人们只是嵌套它们。
您必须创建另一个在块完成时调用的方法,而不是从块中返回。