18.5 练习

1.根据NSCopying协议为AddressBook类实现一个copy方法。也实现mutableCopy方法行不行得通?为什么行或者为什么不行?

2.修改第8章中定义Rectangle类和XYPoint类,使其符合<NSCopying>协议的要求。然后为每个类添加copyWithZone:方法。确保Rectangle使用XYPoint的copy方法复制它的XYPoint成员origin。为这些类实现可变和不可变副本是否行得通?解释原因。

3.创建一个NSDictionary字典对象,并使用键/对象对来填充它,然后产生可变和不可变副本。这些复制是深复制还是浅复制?验证你的答案。

4.谁负责释放本章在copyWithZone:方法中为新AddressCard对象分配的内存?为什么?