Powerful dependency injection for Objective-C ✨✨ (https://PILGRIM.PH is the pure Swift successor to Typhoon!!)✨✨
Bugfixes:
TyphoonLoadedView
outlets.Enhancements:
TyphoonOptionMatcher
can now use caseConformsToProtocol:
method.beforeInjections
/afterInjections
are now inherited from the parent definition.Enhancements:
TyphoonDefinitions
:@interface TyphoonDefinition : NSObject <NSCopying>
{
Class _type;
NSString *_key;
TyphoonDefinitionNamespace *_space;
BOOL _processed;
...
In short, it allows to differentiate between definitions declared in different TyphoonAssemblies
. The main benefit for now is the improved support of TyphoonConfigs
.
TyphoonConfigs
now have scope - they can be either global, or assembly-scoped. For details see the updated wiki.Bugfixes:
Deprecations:
+ (instancetype)configDefinitionWithName:(NSString *)fileName DEPRECATED_MSG_ATTRIBUTE("use -withConfigName: instead");
+ (instancetype)configDefinitionWithName:(NSString *)fileName bundle:(NSBundle *)fileBundle DEPRECATED_MSG_ATTRIBUTE("use -withConfigName:bundle: instead");
+ (instancetype)configDefinitionWithPath:(NSString *)filePath DEPRECATED_MSG_ATTRIBUTE("use -withConfigPath: instead");
Enhancements:
TyphoonAssembly
:- (instancetype)activateWithConfigResourceName:(NSString *)resourceName;
It can be used instead of:
TyphoonConfigPostProcessor *processor = [TyphoonConfigPostProcessor processor];
[processor useResourceWithName:@"Config_production.plist"];
[self attachPostProcessor:processor];
[self activate];
Enhancements:
- (void)attachDefinitionPostProcessor:(id<TyphoonDefinitionPostProcessor>)postProcessor;
- (void)attachInstancePostProcessor:(id<TyphoonInstancePostProcessor>)postProcessor;
- (void)attachTypeConverter:(id<TyphoonTypeConverter>)typeConverter;
Bugfixes:
Carthage
cocoapods
with use_frameworks
enabled.Deprecations:
- (void)attachPostProcessor:(id<TyphoonDefinitionPostProcessor>)postProcessor
- (void)addInstancePostProcessor:(id <TyphoonInstancePostProcessor>)postProcessor