Avatar
コンストラクタインジェクションとの合せ技で any を消すことも。 protocol DependenciesProtocol { func a(x: Int) -> Int } final class Foo<Dependencies: DependenciesProtocol> { let dependencies: Dependencies init(dependencies: Dependencies) { self.dependencies = dependencies } func b() { let a = dependencies.a(...) } } (edited)