Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何在不继承swift中NSObject的情况下重写NSObject方法_Ios_Objective C_Swift_Inheritance_Objective C Runtime - Fatal编程技术网

Ios 如何在不继承swift中NSObject的情况下重写NSObject方法

Ios 如何在不继承swift中NSObject的情况下重写NSObject方法,ios,objective-c,swift,inheritance,objective-c-runtime,Ios,Objective C,Swift,Inheritance,Objective C Runtime,实际上,我想知道如何从NSObject或任何其他类访问encodeWithCoder、init等方法,而不从NSObject类继承 因为我读到,如果我们从NSObject类继承,那么它在Swift或类似于Objective-C的性能方面存在性能问题 因此,请让我知道如何做。如果要从一个不从该超类继承的类重写一个超类方法,这是没有意义的。如果需要使用encodeWithCoder方法,则必须扩展NSObject类或符合NSCoding协议的任何其他类。否则,您可以创建符合NSCoding协议的自定

实际上,我想知道如何从
NSObject
或任何其他类访问
encodeWithCoder
init
等方法,而不从
NSObject
类继承

因为我读到,如果我们从
NSObject
类继承,那么它在Swift或类似于Objective-C的性能方面存在性能问题


因此,请让我知道如何做。

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

任何不从另一个类继承的类都称为基类

Swift类不会从通用基类继承。你呢 定义而不指定超类会自动变为基 为您构建的课程


我不认为它必须是NSObject,它只需要符合NSCoding协议