我在Swift 3中创建了一个自定义框架,包含扩展(用于String,UIColors等)以及UITableView和UIView的子类。
问题是,当我尝试在另一个项目中使用我的子类时,它不起作用并崩溃。扩展功能完美运行...... 子类不出现在故事板中的“可用类”列表中。 (我的类不在Custom Class列表中,Module部分为空)
在我的框架中,我的子类是公共的。我也尝试过open,我遇到了同样的问题。
希望它足够清楚,任何人都可以帮助我:)。
编辑: 重现问题:
创建一个继承自UIView的Custom类:
public class CustomView: UIView {
public var name: String = "MyName"
public func sayMyName() { print("\(self.name)") }
}
创建框架
创建一个新项目,然后导入您的框架。
尝试在故事板中实例化CustomView。
答案 0 :(得分:0)
首先,您需要确保您的App项目可以访问您的Framework目标。两个选项:
现在您已将其添加到Xcode的应用项目中,您需要这样做:
如果要在代码中访问open
类,请使用以下语法:
import [framework]
如果您希望在Storyboard中访问您的UIKit子类,请添加他们的超类控件,然后转到Identity Inspector并(1)选择您的框架作为Module
,并将您的子类选择为{{1 }}