数据是否交给UIPasteBoard深拷贝或浅拷贝?
如果应用程序在iOS的UIPasteBoard中设置数据,他们是深拷贝还是浅拷贝?
如果你问- (void)setData:(NSData *)data forPasteboardType:(NSString *)pasteboardType
比它肯定是一个深层复制。
如果您询问strings
, URL's
, Colors
他们也被深度复制。
只有关于Images
我确定它使用相同的CGImageRef
,因为UImage不实现NSCopying协议
你可以testing它只是closures你的应用程序,并看到数据留在纸板。
UIPasteboard使用NSData来存储数据。 因此,它是深刻的复制。
从“setData:forPasteboardType:”的官方文档
“使用这种方法将原始数据放在粘贴板上,例如,您可以归档模型对象的graphics,并通过使用自定义粘贴板types的粘贴板将所得到的NSData对象传递给相关应用程序(要将对象(如NSString ,NSArray,NSDictionary,NSDate,NSNumber,UIImage或NSURL对象 – 在粘贴板上,使用setValue:forPasteboardType:方法)。这个方法写入数据的第一个项目在粘贴板中。调用这个方法replace当前在粘贴板“。
- ALAssetLibrary通知和enumerateAssetsUsingBlock
- animationControllerForPresentedController和animateTransition之间的自定义过渡animation未知延迟
- 如何在iOS 11的滚动视图中轻松实现中心内容视图
- Cognito身份validation工作但错误显示?
- iOS:带有1个标签和3个button的简单AutoLayout
- AVAudioSession配置记录和与他人一起玩
- 如何解决在VAFieldTest应用程序中发生的_CTServerConnectionRegisterForNotification崩溃
- 如何更改iOS 7中未选中的标签栏项目的颜色?
- Swift iOS模块没有被部署到预期的debugging目录