gpt4 book ai didi

iphone - 无法继承NSNumber,NSNull ...,为什么?

转载 作者:行者123 更新时间:2023-12-01 17:42:49 24 4
gpt4 key购买 nike

针对iOS应用进行编码,我发现有潜在的原因禁止继承NSNumber,NSNull,... blabla。

如果我尝试这样做,编译器不会失败,但是运行会立即崩溃,而没有任何使用信息,有人知道原因吗?

最佳答案

Subclassing Notes

与任何类集群一样,如果您创建NSNumber的子类,则您
必须重写其 super class NSValue的原始方法。
此外,您可以使用一组有限的返回值
可以返回NSValue方法objCType的实现,以便
利用非原始的抽象实现
方法。有效的返回值是“c”,“C”,“s”,“S”,“i”,“I”,
“l”,“L”,“q”,“Q”,“f”和“d”。

更确切地说,我相信这是因为您实际上从未拥有过NSNumber实例。 Objective-C具有一个有趣的属性,即类的初始化程序实际上可以将自身指向的对象更改为对象(这实际上对任何方法都适用,但是我只听说过init方法中使用了它)。我相信NSNumber可以做到这一点。

另请参阅Class Clusters的文档。

关于iphone - 无法继承NSNumber,NSNull ...,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13879413/

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