在 OC 中,copy 和 mutableCopy 两个方法是被所有对象继承的 (有点小毛病,应该指所有继承自 NSObject 的类),这两个方法就是为 copy 准备的。其中,mutableCopy 是为了创建原始对象的可变类型的 copy。这两个方法分别调用 copyWithZone 和 mutableCopyWithZone 两个方法来进行 copy。一个对象必须实现 copyWithZone 或者 mutableCopyWithZone,才能进行 copy 或者 mutableCopy。