2012-08-09 59 views
0

我在塊中擁有以下一段代碼,並且希望知道是否像枚舉類似聲明局部變量很酷?我真的不想處理__block等於是就想看看是否有任何問題,用下面的代碼:Objective-C塊中的變量範圍

[self.assets enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
    NSData *imageToUpload = UIImageJPEGRepresentation([(UIImageView *)obj image], 90); 
    NSString *imageName = [NSString stringWithFormat:@"Image%d",idx]; 
    NSString *fileName = [NSString stringWithFormat:@"Image%d.jpeg",idx]; 
}]; 

回答

4

這些變量是沒用的原樣。它們不存儲在其他地方,並在runloop結束時自動釋放。

將您的塊視爲一個自包含的函數:它不會在其作用域之外寫入任何內容,也不會返回任何內容。

+0

很酷謝謝。總是很高興知道何時不需要編輯代碼。 – jini 2012-08-09 15:35:53