Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Tear Down for async code
@implementation Foo
{
BOOL _needsTearDown;
}
- (instancetype)init;
{
self = [super init];
if (self) {
_needsTearDown = YES;
// initialization here
}
return self;
}
- (void)tearDown;
{
if (_needsTearDown) {
// tear down back pointers and async code here.
_needsTearDown = NO;
}
}
- (void)dealloc
{
if (_needsTearDown) {
__builtin_trap();
}
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.