数据是否交给UIPasteBoard深拷贝或浅拷贝?

如果应用程序在iOS的UIPasteBoard中设置数据,他们是深拷贝还是浅拷贝?

如果你问- (void)setData:(NSData *)data forPasteboardType:(NSString *)pasteboardType比它肯定是一个深层复制。

如果您询问stringsURL'sColors他们也被深度复制。

只有关于Images我确定它使用相同的CGImageRef ,因为UImage不实现NSCopying协议

你可以testing它只是closures你的应用程序,并看到数据留在纸板。

UIPasteboard使用NSData来存储数据。 因此,它是深刻的复制。

从“setData:forPasteboardType:”的官方文档

“使用这种方法将原始数据放在粘贴板上,例如,您可以归档模型对象的graphics,并通过使用自定义粘贴板types的粘贴板将所得到的NSData对象传递给相关应用程序(要将对象(如NSString ,NSArray,NSDictionary,NSDate,NSNumber,UIImage或NSURL对象 – 在粘贴板上,使用setValue:forPasteboardType:方法)。这个方法写入数据的第一个项目在粘贴板中。调用这个方法replace当前在粘贴板“。