0

在书里

有效的 Objective-C 2.0:改进 iOS 和 OS X 程序的 52 种特定方法

有一个

第 49 条:对具有自定义内存管理语义的集合使用免费桥接

本章主要通过一个示例解决了在 NSDictionary 中复制键而保留值的问题,从而说明了免费桥接的重要性。

它说,我引用如下:

如果您想用作键的对象无法复制怎么办?

我的问题是,如果 Objective-C 中的所有对象都是从一开始就实现复制方法的 NSObject 的子类,那怎么会有无法复制的对象呢?是否有任何实际情况需要这种情况?

4

1 回答 1

3

NSObject在'方面实现-copy方便。如果你的对象不符合和实现,调用它会抛出异常。并非所有对象都实现复制,这就是为什么您需要保留它们而不是复制的原因。(有关更多信息,请参阅文档。)NSCopying-copyWithZone:NSCopying-copyWithZone:-copy-[NSObject copy]-copy

于 2017-10-30T14:51:05.943 回答