2013-02-01 16 views
-2

我有以下代碼:NSError,__autoreleasing和塊

__autoreleasing NSError *error = nil; 
    __block BOOL isPaidFeed = NO; 

    [[MyManager sharedInstance].tempAddedFeeds enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
     [[MyManager sharedInstance] addSource:obj toPage:pageTitle error:&error]; 
     if(error){ 
      *stop = YES; 
     } 

    }]; 

但是它給了我,我用塊__autoreleasing錯誤。我如何解決這個問題?不使用枚舉器?

+0

如果您只是想確保塊不保留對象,那麼使用__weak或__unsafe_unretained如何? – 2013-02-01 22:11:29

+0

在這種情況下,我會保持強大。這是一個基礎課,而不是一個使用它的人通常會冒一個保留循環的風險。 –

+0

但是,爲什麼你應該創建一個強大的引用,如果你只是在某種方法中創建NSError對象。 – 2013-02-01 22:23:44

回答

0

嘗試在塊內移動error的聲明。