iOS制作framework时遇到的一个坑

第一次制作framework封装项目里的业务库,然后就遇到了一个容易被自己忽视的坑

比如我的framework里面有这样一个类供外部调用:

public class Hello {
    public var message = ""
}

 我将framework打包,然后新建一个Test Tartget。在Target里去import这个framework并想要创建这个类,发现编译器报错:

访问了一个internal的变量,这是不被允许的

然后我就百思不得其解,为什么可以直接访问这个对象的message字段,并且我的framework也是设置的public,怎么就internal了。最后,我发现了一个被自己忽视的地方,class的构造方法是默认的。而且通常开发中都被我忽视了,所以就发生了这种问题。附上正确的代码:

public class Hello {
    public var message = ""

    public init() {}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章