注入器 0.0.3

Injector 0.0.3

测试经过测试
语言语言 Obj-CObjective C
许可证 MIT
发布时间最后发布时间2015年4月

Asif Sheikh维护。



Injector 0.0.3

注入器提供了用于在运行时绑定和注入服务的轻量级框架。

"服务"由一个API及其实现组成。对于给定的API可以有多个实现。

示例

如果您有一个API

// HelloService.h
@protocol HelloService <NSObject>
- (void)sayHello;
@end

以及上述API的实现

// HelloNSLogger.h
@interface HelloNSLogger <HelloService>
@end

// HelloNSLogger.m
@implementation HelloNSLogger
- (void)sayHello {
  NSLog(@"Hello");
}
@end

注入器让您将实现绑定到服务注入器。

[[NSRInjector sharedInstance] bindImplClass:[HelloNSLogger class] 
                                  toService:@protocol(HelloService)
                                withOptions:[NSRInjectorOptions lazySingleton]];

// Shortcut macro for the above
NSR_BIND(HelloNSLogger, HelloService, [NSRInjectorOptions lazySingleton]);

然后,HelloService的客户端可以通过以下方式获得HelloService的实例

id<HelloService> helloService = [[NSRInjector sharedInstance] inject:@protocol(HelloService)];
// OR
id<HelloService> helloService = NSR_INJECT(HelloService);