gpt4 book ai didi

ios - 如何在不快速继承 NSObject 的情况下覆盖 NSObject 方法

转载 作者:行者123 更新时间:2023-11-28 06:37:32 27 4
gpt4 key购买 nike

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

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

所以请告诉我该怎么做。

最佳答案

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

来自 Apple documentation

Any class that does not inherit from another class is known as a base class.

NOTE

Swift classes do not inherit from a universal base class. Classes you define without specifying a superclass automatically become base classes for you to build upon.

关于ios - 如何在不快速继承 NSObject 的情况下覆盖 NSObject 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38783268/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com