Xcode报错:Use of unimplemented initializer ‘init(frame:options:)

Use of unimplemented initializer 'init(frame:options:)即使用未实现初始化器的init(frame:options:)

情况是这样子的:在OC中使用swift自定义的view,在swift类的初始化方法这里报错

报错代码:

OC中使用:

_earthScene = [[earthSCNView alloc]initWithFrame:CGRectMake(30, 15, 350, 350)];

Swift中使用:

override init(frame:CGRect){
        super.init(farme)
    }

看起来毫无猫病,但是Xcode好像在这个时候不认Swift的init(frame:CGRect)方法

解决方案:

Swift中修改构造器方法为

 override init(frame: CGRect, options: [String : Any]? = nil) {
        super.init(frame: frame, options: nil)
    }

OC中使用:

_earthScene = [[earthSCNView alloc]initWithFrame:CGRectMake(30, 15, 350, 350) options:nil];

然后就解决啦!

你可能感兴趣的:(iOS,ios)