swift init不可用。 init不可用只能由框架内部创建

时间:2017-05-19 19:30:52

标签: objective-c swift

我试图初始化内部框架的类(ObjC版本)实例:

MyClass *tmp = [Myclass New]; // <-- this works great

但我正在尝试快速尝试类似的东西:

var tmp = Myclass()

但在迅速的情况下,我收到了这个错误:

swift init不可用。 init不可用只能由框架内部

创建

为什么ObjC没有收到错误以及为何在Swift上收到此错误?

我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果你真的需要从swift访问该对象,无论出于何种原因。您可以尝试编写一个方法,在objective-C中返回该对象的新版本,并使其可以快速通过桥接头。

然而,在Objective-C中私有的任何其他方法都无法在swift中访问。因此,您可以在objective-C中包含额外的方法,并使其与其他桥接的Objective-C方法一起使用swift。