-
Notifications
You must be signed in to change notification settings - Fork 268
Propagating runtime arguments
Jasper Blues edited this page May 2, 2014
·
13 revisions
#Propagating run-time arguments through to dependencies
We can propagate a runtime argument through to a dependency as shown:
- (id)loyaltyManagementControllerWithLoyaltyAccounts;
{
return [TyphoonDefinition withClass:[LoyaltyManagementViewController class]
configuration:^(TyphoonDefinition* definition)
{
[definition useInitializer:@selector(initWithLoyaltyClient:view:) parameters:^(TyphoonMethod* initializer)
{
[initializer injectParameterWith:[_networkComponents loyaltyClient]];
[initializer injectParameterWith:
[self loyaltyManagementViewWithAccounts:loyaltyAccounts]];
}];
}];
}
- (id)loyaltyManagementViewWithAccounts:(NSArray*)loyaltyAccounts
{
return [TyphoonDefinition withClass:[LoyaltyManagementView class]
configuration:^(TyphoonDefinition* definition)
{
//The loyaltyAccounts parameter is propagated through the parent controller
// onto the view
[definition injectMethod:@selector(setLoyaltyAccounts:)
parameters:^(TyphoonMethod* method)
{
[method injectParameterWith:loyaltyAccounts];
}];
}
Something still not clear? How about posting a question on StackOverflow.
Get started in two minutes.
Get familiar with Typhoon.
- Types of Injections
- What can be Injected
- Auto-injection (Objective-C)
- Scopes
- Storyboards
- TyphoonLoadedView
- Activating Assemblies
Become a Typhoon expert.
For contributors or curious folks.