【发布时间】:2021-12-21 00:16:59
【问题描述】:
我知道我应该使用init 和NSNumber 的指定初始化程序。但是当我发现:
[[NSNumber alloc] init] 返回零,我还是有点惊讶。
在实现NSNumber 为init 返回nil 时做了什么(毕竟NSObject 将返回self)?它是否首先在指定的初始化程序中尝试init 底层__NSCFNumber?因此,如果您通过默认的init,它将返回nil,因为底层__NSCFNumber 是nil。为什么不直接将init 和new 声明为NS_UNAVAILABLE?
【问题讨论】:
标签: ios objective-c