这是关于__block
用于释放块内的对象;
NSString *str = [SomeObject methodName]; // returned object is autoreleased
[str retain]; //retaining the object since its auto released
现在我将str
在一个块内使用这个对象。在块内我将释放这个对象。我是否需要在前面加上 like __block NSString *str = ..
,因为我在块内释放它?从规则中我了解到,如果我们想修改块内的对象,我们需要在前面加上__block
. 但这条规则是否也适用于发布?