I Klassenstruktur haben, wie:Wie Eigenschaft Basisklasse injizieren Typhoon mit
class BaseNetworkClient: NSObject {
var defaultParametersBuilder: DefaultParametersBuilder!
}
class NetworkClient: BaseNetworkClient {
}
class DefaultParametersBuilder: NSObject {
}
Und Typhoon Assembly
class CoreComponentsAssembly: TyphoonAssembly {
dynamic func baseNetworkClient() -> AnyObject {
return TyphoonDefinition.withClass(BaseNetworkClient.self) {
(definition) in
definition.scope = .ObjectGraph
definition.injectProperty(#selector(self.defaultParametersBuilder), with: self.defaultParametersBuilder())
}
}
dynamic func networkClient() -> AnyObject {
return TyphoonDefinition.withClass(NetworkClient.self) {
(definition) in
definition.scope = .ObjectGraph
}
}
dynamic func defaultParametersBuilder() -> AnyObject {
return TyphoonDefinition.withClass(DefaultParametersBuilder.self) {
(definition) in
definition.scope = .ObjectGraph
}
}
}
BaseNetworkClient injizieren zu keiner Klasse, sondern Network erbt von ihm. Das Problem ist, dass ich BaseNetworkClient keine Eigenschaft hinzufügen kann. Eigenschaften sind immer Null. Was ist los mit dir?
Versuchen Sie es mit networkClient() definion.parent = baseNetworkClient() –
https://github.com/appsquickly/Typhoon/wiki/Types-of-Injections#abstract-and-base-defin itionen –
Danke Jungs! Das wurde behoben. – AlexEdunov