我实际上想知道如何在不继承encodeWithCoder
类的情况下从init
或任何其他类访问NSObject
,NSObject
等方法。
因为我读过如果我们从NSObject
类继承,那么它在Swift中的性能问题或与Objective-C类似的性能。
所以请告诉我怎么做。
答案 0 :(得分:1)
您想要从不从该超类继承的类中覆盖超类方法,这没有意义。如果需要使用encodeWithCoder方法,则必须扩展NSObject类或符合NSCoding协议的任何其他类。否则,您可以创建符合NSCoding协议的自定义类,并在encodeWithCoder方法中实现相同的功能。
任何不从其他类继承的类都称为基类。
请注意
Swift类不从通用基类继承。给你上课 定义而不指定超类自动成为基类 你可以上课。