Skip to content

Instantly share code, notes, and snippets.

@mysteriouspants
Created December 9, 2011 21:11
Show Gist options
  • Save mysteriouspants/1453314 to your computer and use it in GitHub Desktop.
Save mysteriouspants/1453314 to your computer and use it in GitHub Desktop.
Madness.
@interface Sender : NSObject
@property (weak) id delegate;
@property (assign) SEL selector;
- (void)doSth;
@end
@interface Receiver : NSObject
@property (strong) Sender* whatever;
@property (copy) void(^blockStuff)();
- (void)assumeThisIsRun;
@end
@implementation Sender
@synthesize delegate=_delegate;
@synthesize selector=_selector;
- (void)doSth
{
[_delegate performSelector:_selector];
}
@end
@implementation Receiver
@synthesize whatever=_whatever;
@synthesize blockStuff=_blockStuff;
- (void)assumeThisIsRun
{
self.whatever = [[Sender alloc] init];
self.blockStuff = ^{NSLog(@"Hello world!");};
_whatever.delegate = _blockStuff;
_whatever.selector = @selector(startBlock);
[_whatever doSth];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment