由于 'internal' 保护级别,无法访问初始化程序
Getting initializer is inaccessible due to 'internal' protection level
我知道这可能不是问这个特定问题的合适地方,但我已经尝试联系下面 GitHub 存储库的作者,但到目前为止没有任何回应。
因此,我发现 this 在 GitHub 上特别有用的库,它基本上允许在 tvOS 上创建一个或多个 'pickers'。它带有一个方便的预制日期选择器,它使用 MultiPickerConfiguration
class 来处理 UI 配置等属性。
然而,在通过 Cocoapods 拉入库后,我似乎无法实例化我自己的 MultiPickerConfiguration
对象。我尝试通过 extension
创建一个新的初始值设定项,但 Xcode 抱怨以下消息:
initializer is inaccessible due to 'internal' protection level
此时我有点难过,我真的希望不必将整个 .xcproj
拉入我的 .xcworkspace
。
有人有什么建议吗?谢谢!
该结构需要一个 public 初始化方法。要么作者需要添加一个,要么您可以添加一个并将其作为拉取请求提交。
The default memberwise initializer for a structure type is considered
private if any of the structure’s stored properties are private.
Likewise, if any of the structure’s stored properties are file
private, the initializer is file private. Otherwise, the initializer
has an access level of internal.
As with the default initializer above, if you want a public structure
type to be initializable with a memberwise initializer when used in
another module, you must provide a public memberwise initializer
yourself as part of the type’s definition.
https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html#ID21
其他人似乎也有同样的问题并发布了这个 issue。
看到最后一次提交是 2018 年 2 月,我怀疑有人会很快修复它。您可以提交拉取请求并等待有人合并它。
同时,您可以通过编辑代码添加 public 初始值设定项。在左侧面板中找到 pod 的代码:Pods > Pods > TVMultiPicker > MultiPickerConfiguration.swift
。开始输入,将出现一个对话框,询问您是否要解锁文件。单击 "Unlock" 并编写您的初始化程序。
我知道这可能不是问这个特定问题的合适地方,但我已经尝试联系下面 GitHub 存储库的作者,但到目前为止没有任何回应。
因此,我发现 this 在 GitHub 上特别有用的库,它基本上允许在 tvOS 上创建一个或多个 'pickers'。它带有一个方便的预制日期选择器,它使用 MultiPickerConfiguration
class 来处理 UI 配置等属性。
然而,在通过 Cocoapods 拉入库后,我似乎无法实例化我自己的 MultiPickerConfiguration
对象。我尝试通过 extension
创建一个新的初始值设定项,但 Xcode 抱怨以下消息:
initializer is inaccessible due to 'internal' protection level
此时我有点难过,我真的希望不必将整个 .xcproj
拉入我的 .xcworkspace
。
有人有什么建议吗?谢谢!
该结构需要一个 public 初始化方法。要么作者需要添加一个,要么您可以添加一个并将其作为拉取请求提交。
The default memberwise initializer for a structure type is considered private if any of the structure’s stored properties are private. Likewise, if any of the structure’s stored properties are file private, the initializer is file private. Otherwise, the initializer has an access level of internal.
As with the default initializer above, if you want a public structure type to be initializable with a memberwise initializer when used in another module, you must provide a public memberwise initializer yourself as part of the type’s definition.
https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html#ID21
其他人似乎也有同样的问题并发布了这个 issue。
看到最后一次提交是 2018 年 2 月,我怀疑有人会很快修复它。您可以提交拉取请求并等待有人合并它。
同时,您可以通过编辑代码添加 public 初始值设定项。在左侧面板中找到 pod 的代码:Pods > Pods > TVMultiPicker > MultiPickerConfiguration.swift
。开始输入,将出现一个对话框,询问您是否要解锁文件。单击 "Unlock" 并编写您的初始化程序。