使用" new"覆盖Objective-C类方法Swift中的前缀

时间:2015-11-02 08:32:46

标签: ios objective-c swift

我在Swift中覆盖Objective-C的类方法时遇到问题。我可以从Swift调用它没问题,但不能覆盖它。

方法签名:

+ (id<MyInterface>)newObjectWithId:(NSString *)objectId properties:(NSDictionary *)properties andClient:(Client *)client;

类层次结构:

NSObject <-- MyObject1 <-- MyObject2 <-- MySwiftClass

MyObject1声明并实现上述方法,MyObject2也是如此。但是尝试在Swift中覆盖它不起作用。它在自动完成时不可见,当我手动编写时,它显示Method does not override any method from its superclass。我写的签名看起来像这样:

override class func newObjectWithId(objectId: String!, properties: NSDictionary!, andClient client: Client!) -> MyInterface

我也覆盖了这个类中的其他一些类方法,并且它们没有问题。我认为这个方法中的new前缀存在问题。有没有人遇到这样的事情并成功解决了?

0 个答案:

没有答案