Xcode报错:Settings initializer is inaccessible due to ‘private’ protection level
Xcode报错:Settings initializer is inaccessible due to ‘private’ protection level

Xcode报错:Settings initializer is inaccessible due to ‘private’ protection level

这一问题的原因为视图的初始化器因为访问控制级别问题,导致无法进行实例化。

具体案例为:

struct Settings: View {
    @State private var path = NavigationPath()
    ...
}

#Preview {
    Settings(path: NavigationPath())    // 报错行
}

当我们尝试给预览视图添加参数时,就会引发对应的访问控制级别报错。

Argument passed to call that takes no arguments

问题原因为,案例中的Settings视图结构的path为private私有变量,因此无法从外部赋值。

解决方案就是将private删除,让#Preview预览视图可以传参并访问。

@State var path = NavigationPath()

删除private后,问题得到解决。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注