代码之家  ›  专栏  ›  技术社区  ›  The Windwaker

由于“内部”保护级别为4,无法访问扩展初始值设定项

  •  0
  • The Windwaker  · 技术社区  · 6 年前

    我在框架内的扩展中有一个方便的初始值设定项。 我想在我项目的另一个扩展中使用它。 它允许公众访问我能访问的所有内容,但编译器一直说“由于‘内部’保护级别,无法访问初始值设定项”。。。

    以下是我在框架中的扩展:

    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)时。

    你知道这里怎么了吗?

    编辑: 我添加了框架导入

    1 回复  |  直到 6 年前
        1
  •  5
  •   Rob Napier    6 年前

    一般来说,这里的答案是清理项目。如果不起作用,请删除DerivedData。如果这不起作用,那么就开始简化项目,只做一件事(导入框架并访问扩展),因为项目中还有其他内容。

    推荐文章