原型模式从一个对象在创建另一个对象,而不需知道任何创建细节。一般在初始化信息不变化的情况下,使用原型模式是最好的方法,即隐藏了对象创建的细节,对性能又大大提高。
在 iOS 开发中,体现原型模式的是 copy 和 mutableCopy。
copy 指的是复制对象,返回一个不可变的对象。
NSArray *arrA = @[@"1",@"2",@"3",@"4"];
id arrACopy = arrA.copy;
arrACopy[0] = @"2";//崩溃,因为copy返回的对象是不可变的
arrA = @[@"2",@"2",@"3",@"4"