我知道这可能不是问这个特定问题的合适地点,但是我已经尝试联系下面的GitHub存储库的作者,并且到目前为止没有任何回应。
因此,我发现this在GitHub上特别有用,它实际上允许在tvOS上创建一个或多个“选择器”。它带有一个方便的预制日期选择器,它使用MultiPickerConfiguration
类来处理其他属性中的UI配置。
但是,在通过Cocoapods拉入库之后,我似乎无法实例化自己的MultiPickerConfiguration
对象。我尝试通过extension
创建新的初始化程序,但是Xcode抱怨以下消息:
initializer is inaccessible due to 'internal' protection level
在这一点上我很困惑,我真的不想不必将整个.xcproj
放入我的.xcworkspace
。
有人有什么建议吗?谢谢!
答案 0 :(得分:2)
该结构需要一个公共的init方法。作者要么需要添加一个,要么可以添加一个,然后作为拉取请求提交。
考虑结构类型的默认成员初始化器 如果该结构的任何存储属性为私有,则为私有。 同样,如果结构的任何存储属性是文件 私有,初始化器是文件私有的。否则,初始化器 具有内部访问级别。
与上面的默认初始化程序一样,如果要公共结构 类型在使用时可以使用成员初始化器进行初始化 另一个模块,您必须提供一个公共的成员初始化器 自己作为类型定义的一部分。
https://docs.swift.org/swift-book/LanguageGuide/AccessControl.html#ID21
答案 1 :(得分:1)
其他人似乎也有同样的问题,并发布了此issue。
看到最后一次提交是在2018年2月,我怀疑有人会尽快修复它。您可以提交拉取请求,然后等待有人将其合并。
同时,您可以通过编辑代码来添加公共初始化程序。在左侧面板中找到广告连播的代码:Pods > Pods > TVMultiPicker > MultiPickerConfiguration.swift
。开始输入,将出现一个对话框,询问您是否要解锁文件。单击“解锁”并编写您的初始化程序。