我有一個對象鏈。鏈中的對象存在很好地劃分功能。一個完成塊被傳遞到鏈中,我想如果另一個對象想要將東西添加到完成塊中,我可以將完成塊包裝在相同類型的塊中,調用第一個塊,並且一切都將是ace。我得到了EXC_BAD_ACCESS。我的語法錯了嗎?還是我完全用錯誤的方式處理了這個問題?將塊包裝在同一個塊中
-(void)archiveChatWithDictionary:(NSDictionary*)dictionary andCompletionBlock:(ServerConnectionCompletionBlock)completionBlock
{
ServerConnectionCompletionBlock localCompletionBlock = ^(ServerConnection *connection, NSError *error) {
// Do some stuff
// ...
// This line produces EXC_BAD_ACCESS
completionBlock(connection, error);
};
[self.chatEndpointInterface archiveChatWithDictionary: dictionary andCompletionBlock: localCompletionBlock];
}
調用'archiveChatWithDictionary:andCompletionBlock:'調用相同的方法(即與另一個類中名稱相同但實現不同的方法相反)。如果是這樣,你可能會有無限遞歸。 – newacct 2012-07-19 08:22:50
這是一個ARC項目嗎? – 2012-07-19 19:42:28
是的,它是一個ARC項目,不是該方法不調用它自己。 – 2012-07-19 19:44:01