我尝试在类型初始化程序中定义的参数上使用新的@propertyWrappers,如下面的代码:
init(@Inject services: TodoServiceContainer? = nil) {
service = services?.todoService
}
但是 Xcode 不编译这样的代码并抛出这样的错误
闭包在声明之前捕获“_services”
初始化对象后在函数上使用相同的属性包装器效果很好
func inject(@Inject services: TodoServiceContainer? = nil) {
service = services?.todoService
}
此外,如果我在初始化程序主体代码中评论参数的使用情况,则可以编译
init(@Inject services: TodoServiceContainer? = nil) {
//service = services?.todoService
}
但我想在正文中使用初始化参数来初始化一些属性
甚至可能吗?