I have read many articles that talk about blocks creating a retain cycle. But why would it make a retain cycle? Wouldn't the block release the reference after it got run?
[UIView animateWithDuration:5
animations:^{
self.variable = somevalue;
}];
For example if the above were executed, the reference to self would be released right?
I already see that the above block creates two strong references. One from the object to the block and the block to the object. Can someone explain to me why the cycle doesn't break? Shouldn't the cycle break after the code is run?
selfis also retaining the block. - rmaddy