我正在创建一个应用程序UIPasteboard,其应用程序的标识符作为名称(例如com.example.app.pboard),如文档中所示。
所有的复制和粘贴工作,但该死的东西永远不会消失。我每次访问它时都将persistent
属性显式设置为NO,以便将其复制到其中,每次我的应用程序启动时,我甚至都会调用UIPasteboard的+removePasteboardWithName:
。
但是每当我看到它时,尽管应用程序重新启动,我复制到它上面的最新内容仍然存在。
是什么给出了?
答案 0 :(得分:1)
不知道你为什么尝试不起作用,这里有两个猜测和一个可能的解决方案:
您可以通过在离开或进入应用时将粘贴板的items
设置为nil来解决此问题。
答案 1 :(得分:0)
您可以将UIPasteboard设置为持久性。符合Apple's document,
setPersistent:
一个布尔值,指示粘贴板是否持久。 当粘贴板持久存在时,它将继续存在于应用程序终止之后并且跨系统重新启动。不持久的应用程序粘贴板只会持续到拥有(创建)应用程序退出。系统范围的通用粘贴板是持久的。命名,特定于应用程序的粘贴板不是永久性的。
更新:对于iOS 10,UIPasteboard会自动设置持久性。
请注意 从iOS 10开始,系统自动设置粘贴板持久性。如果您尝试在粘贴板上设置setPersistent:属性,Xcode会发出弃用警告。 如本文档的“概述”部分所述,使用共享容器而不是命名持久性粘贴板。