首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >清除UIPasteBoard

清除UIPasteBoard
EN

Stack Overflow用户
提问于 2016-04-03 10:48:45
回答 1查看 4.9K关注 0票数 4

让我们假设在UIPasteBoard上复制了3个字符串:

代码语言:javascript
复制
UIPasteboard.generalPasteboard().string="hello"
UIPasteboard.generalPasteboard().string="world"
UIPasteboard.generalPasteboard().string="!"

我使用UIPasteboard.generalPasteboard().string="“

油漆板能洗干净吗?UIPasteBoard是否有类似于NSPasteBoard的clearContents()功能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-03 13:07:47

如果您知道您的程序是唯一一个操作特定pasteboard的程序,那么是的,将string属性设置为""将有效地清除pasteboard。

您可以很容易地在游乐场测试这一点。

代码语言:javascript
复制
var pb = UIPasteboard.generalPasteboard()
pb.string = "hello"
pb.string
pb.items
pb.string = ""
pb.string   
pb.items

哪种输出

代码语言:javascript
复制
<UIPasteboard: 0x7fed6bd0a750>
<UIPasteboard: 0x7fed6bd0a750>
"hello"
[["public.utf8-plain-text": "hello"]]
<UIPasteboard: 0x7fed6bd0a750>
nil
[[:]]

但是,请注意,string属性UIPasteboard是字符串类型的第一个pasteboard项的简写。类型字符串的所有项都可以通过strings属性访问。

所有底层的pasteboard项目都是在items属性中建模的,这是一个[String: AnyObject]类型字典的数组。每个字典都在键值中包含对象的类型信息,在值中包含pasteboard值。

因为您使用的是一个系统范围的generalPasteboard,所以它也可以被其他程序操作,因此,要清除黑板上的所有项目,您应该使用

代码语言:javascript
复制
UIPasteboard.generalPasteboard().items = []

如果您要将纸板用于内部应用程序,则创建内部纸板要比使用系统范围的generalPasteboard更好。请参阅pasteboardWithUniqueName()

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36384506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档