2013-07-01 13 views
0

我與Evernote的API的工作,我不知道如何正確管理與塊的工作沒有我的代碼是令人難以置信的混亂和噴出所有的地方。我如何正確管理充滿了異步塊的工作流程?

API包括方法,這種風格:

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

在那之後,我要運行的基礎上的成功的另一個類似的方法,然後根據該另一個類似的一個。

我也有一個問題,我真的只是想運行它做了一個方法,然後經過然而需要多長時間返回,但我不能從塊內返回。

人們如何面對呢?

一個例子:

在某些情況下,我想創建一個筆記本,然後去做別的事情。 '別的東西'每次都不一樣。我永遠不會把代碼在連接使用標準的代碼,我會運行一個方法:

[self connect]; 

//Do the 'something else' 

但是在這種情況下,我甚至不能想辦法,我能做到這一點,比其他副本粘貼裏面的代碼[自連接]到處我想連接,然後運行在完成處理程序的下一段代碼。

回答

1

要根據成功運行其他事情,只需在塊內調用它們 - 如果是另一個需要另一個塊的操作,通常人們只是將它們嵌套在一起。

而不是從塊內返回的,你必須創建一個你當塊完成後調用另一個方法。