enter image description here你好我在目标c和.m文件中创建了一个UIView我像这样初始化。所以我可以在任何视图中初始化帧 在setupDefaultAttributes中,我设置了元素的默认属性
- (id)initWithFrame:(CGRect)frame
{
if ((self = [super initWithFrame:frame]))
{
[self setupDefaultAttributes];
}
return self;
}
现在我想在Swift中使用这段代码
我该怎么做?当我在swift中尝试此代码时,我收到此错误
属性'self.delegate'未在super.init调用中初始化
答案 0 :(得分:2)
我不确定您的确切要求,但对于上述目标c语法,您可以使用下面的代码。它可以帮助您实现您的taget
override init(frame: CGRect) {
super.init(frame: frame)
setDefultAttributes()
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setDefultAttributes(){
}
答案 1 :(得分:0)
我认为你必须覆盖初始化newFrame属性的init方法(不带参数) (现有方法只是添加新方法)