0

我尝试在类型初始化程序中定义的参数上使用新的@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
}

但我想在正文中使用初始化参数来初始化一些属性

甚至可能吗?

在此处输入图像描述

4

0 回答 0