由于 'internal' 保护级别 swift 4,扩展初始化程序无法访问
Extension initializer is inaccessible due to 'internal' protection level swift 4
我在我的框架内的一个扩展中有一个便利的初始值设定项。
我想在我的项目的另一个扩展中使用它。
它授予 public 我可以访问的所有内容,但编译器一直说 "initializer is inaccessible due to 'internal' protection level"...
这是我在框架中的扩展:
public extension UIColor {
public convenience init(hex: Int) {
self.init(red:(hex >> 16) & 0xff, green:(hex >> 8) & 0xff, blue:hex & 0xff)
}
}
这是我在项目中的扩展:
import myFramework
extension UIColor {
class var backgroundGrey: UIColor {
return UIColor(hex: 0xe3e8eb)
}
}
调用 UIColor(hex) 时出错。
你知道这里出了什么问题吗?
编辑: 我添加了框架导入
这里的答案通常是清理项目。如果这不起作用,请删除 DerivedData。如果这不起作用,则开始简化项目以只做这件事(导入框架并访问扩展),因为项目中还有其他干扰因素。
我在我的框架内的一个扩展中有一个便利的初始值设定项。 我想在我的项目的另一个扩展中使用它。 它授予 public 我可以访问的所有内容,但编译器一直说 "initializer is inaccessible due to 'internal' protection level"...
这是我在框架中的扩展:
public extension UIColor {
public convenience init(hex: Int) {
self.init(red:(hex >> 16) & 0xff, green:(hex >> 8) & 0xff, blue:hex & 0xff)
}
}
这是我在项目中的扩展:
import myFramework
extension UIColor {
class var backgroundGrey: UIColor {
return UIColor(hex: 0xe3e8eb)
}
}
调用 UIColor(hex) 时出错。
你知道这里出了什么问题吗?
编辑: 我添加了框架导入
这里的答案通常是清理项目。如果这不起作用,请删除 DerivedData。如果这不起作用,则开始简化项目以只做这件事(导入框架并访问扩展),因为项目中还有其他干扰因素。