I am quite confused about how to change an instance variable inside of a block.
The interface file (.h):
@interface TPFavoritesViewController : UIViewController {
bool refreshing;
}
The implementation:
__weak TPFavoritesViewController *temp_self = self;
refreshing = NO;
[myTableView addPullToRefreshWithActionHandler:^{
refreshing = YES;
[temp_self refresh];
}];
As you might guess, I get a retain cycle warning when I try to change the refreshing ivar inside of the block. How would I do this without getting an error?
Your assignment to refreshing
is an implicit reference to self
, it is shorthand for:
self->refreshing = YES;
hence the cycle warning. Change it to:
temp_self->refreshing = YES;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With