如何在Objective-C中创建Swift对象?

时间:2015-04-29 16:10:19

标签: objective-c swift nsobject

如果你定义一个像这样的快速类

@objc class Cat {

}

在swift中你可以做到

var c = Cat()

但是如何在Objective-C中创建Cat实例?

子类化NSObject是有效的,因为你可以“alloc-init”但是我们可以在没有继承Objective-C类的情况下实现这个吗?

2 个答案:

答案 0 :(得分:3)

最直接的方法是从Cat继承NSObject。如果你不能这样做,你需要创建一个类方法或一个返回Cat的函数。

@objc class Cat {
    class func create() -> Cat {
        return Cat()
    }
}
func CreateCat() -> Cat {
    return Cat()
}


Cat *cat = [Cat create];
Cat *cat = CreateCat();

答案 1 :(得分:1)

在现代objective-c中,您可以调用类似属性的函数:

夫特:

class func create() -> Cat {
    return Cat()
}

的OBJ-C:

Cat *cat = Cat.create;