如果你定义一个像这样的快速类
@objc class Cat {
}
在swift中你可以做到
var c = Cat()
但是如何在Objective-C中创建Cat
实例?
子类化NSObject
是有效的,因为你可以“alloc-init”但是我们可以在没有继承Objective-C类的情况下实现这个吗?
答案 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;