是否可以动态激活其他组件?
例如,在$root = 'REST_SERVICE_URL'
$user = "user"
$pass= "password"
$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($user, $secpasswd)
$result = Invoke-RestMethod $root -Credential $credential
中,我有两个程序集:return {
getRecords: getRecords, // this is a function
CurrentTitle: getCurrentRecord().title // this is a title
};
和Info.plist
。
除此之外,我还有多个故事板,每个故事板都有自己的组件。我不想在启动时加载所有这些,因为大多数对象都将被闲置。
因此,在UIAssembly
方法之后,startUpRouter进入游戏 - 它应该使用TyphoonComponentFactory创建TyphoonStoryboard,其中包括初始程序集和新的UserStoryAssembly。
答案 0 :(得分:2)
除了使用plist integration绑定到您的应用程序的程序集之外,当然可以创建其他程序集,但是您不需要这样做。
Activating assemblies不会实例化任何新对象。会发生的是,使用程序集,我们创建了一个用于实例化新对象的配方注册表。 。 。
(Typhoon根据定义的方法名称使用运行时检测为每个定义分配唯一键。这样可以在不构建任何特殊工具支持的情况下完成IDE代码的完成,重构等。)< / em>的
。 。 。此信息消耗的信息很少,并存储在TyphoonComponentFactory
类中。发生的事情是,激活后,TyphoonAssembly
将使用objective-C消息转发将消息发送到工厂,然后工厂将根据定义的scope rules组装实例。默认范围是ObjectGraph,它允许为用例定义关系网络,然后在完成后丢弃它。 (这是将依赖注入应用于移动和桌面软件的独特功能)。仅保留单一作用域对象。