【发布时间】:2018-09-12 13:19:58
【问题描述】:
我在框架内的扩展中有一个便利初始化程序。 我想在我的项目的另一个扩展中使用它。 它授予我可以访问的所有内容的公共访问权限,但编译器一直说“由于'内部'保护级别,初始化程序无法访问”...
这是我在框架中的扩展:
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。如果这不起作用,那么开始简化项目,只做这件事(导入框架并访问扩展),因为项目中有其他东西在干扰。
-
@RobNapier。我不得不删除派生数据!我很久没有这样做了,我忘记了这可以解决每个 Xcode 问题以及重新启动 Xcode 并清理项目。您可以发表您的评论作为答案,以便我打勾吗?
标签: ios swift extension-methods access-levels