TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | Custom |
ReleasedLast Release | Dec 2014 |
Maintained by Unclaimed.
Signals for Objective-C++
Let me show you how it's easy to observe some object for notifications using TLSignal. For example, we've ExampleViewController, and we would like to know when his view is loaded:
#import "Signals.h"
@interface ExampleViewController : UIViewController
@property (nonatomic, readonly) TLSignal<UIView *> *viewDidLoadSignal;
@end
@implementation ExampleViewController
tl_synthesize_signal(viewDidLoadSignal, UIView *);
-(void)viewDidLoad
{
[super viewDidLoad];
// Notifying watchers about viewDidLoad event
self.viewDidLoadSignal->notify(self.view);
}
@end
Easy, huh?
#import "AppDelegate.h"
#import "ExampleViewController.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)options
{
UIWindow window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewController = [[ExampleViewController alloc] initWithNibName:@"ExampleViewController" bundle:nil];
// Subscribe to our event
self.viewController.viewDidLoadSignal->addObserver(^(TLSignal<UIView *> *signal, UIView *targetView)
{
targetView.backgroundColor = [UIColor blackColor];
});
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
}
@end
Licensed under the MIT license