如何在不从swift中继承NSObject的情况下覆盖NSObject方法

时间:2016-08-05 07:11:05

标签: ios objective-c swift inheritance objective-c-runtime

我实际上想知道如何在不继承encodeWithCoder类的情况下从init或任何其他类访问NSObjectNSObject等方法。

因为我读过如果我们从NSObject类继承,那么它在Swift中的性能问题或与Objective-C类似的性能。

所以请告诉我怎么做。

1 个答案:

答案 0 :(得分:1)

您想要从不从该超类继承的类中覆盖超类方法,这没有意义。如果需要使用encodeWithCoder方法,则必须扩展NSObject类或符合NSCoding协议的任何其他类。否则,您可以创建符合NSCoding协议的自定义类,并在encodeWithCoder方法中实现相同的功能。

来自Apple documentation

  

任何不从其他类继承的类都称为基类。

     

请注意

     

Swift类不从通用基类继承。给你上课   定义而不指定超类自动成为基类   你可以上课。