在 iPhone 上复制并粘贴多种数据表示形式

2024-04-09

当我尝试将多个数据表示放到 iPhone 3.0 的粘贴板上时,遇到了一些问题。

我想做的是将数据表示形式和字符串表示形式放到粘贴板上。数据是我自己的数据类型,我用它来复制和粘贴到我的应用程序中。字符串表示形式是一种将应用程序的内容作为大纲复制并粘贴到其他应用程序(例如 Mail.app)中的方法。

    // payload
NSString *pasteboardString = [selectedNode stringRepresentation];
NSDictionary *pasteboardDictionary = [selectedNode nodeAndSubnodesProperties];

// set payload
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = pasteboardString;
[pasteboard setValue:pasteboardDictionary forPasteboardType:MNTNodesPasteboardType];

上面的代码不起作用,因为字符串属性和 setValue:forPasteboardType: 方法替换了粘贴板上的第一个表示形式。我尝试了 addItems: 但它对我不起作用。

感谢您的任何帮助!


回答我自己的问题:

您必须使用 items 属性将多个表示形式放置到粘贴板上。为此,您需要创建一个字典,其中每个表示形式作为值,表示形式类型作为键。将此字典添加到一个数组中,其中数组中的每个项目代表一个项目(UIPasteboard 支持将多个项目添加到粘贴板以及为每个项目添加多个表示)。

具有两种表示形式的单个项目的示例代码:

    UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
NSMutableDictionary *item = [NSMutableDictionary dictionaryWithCapacity:2];
[item setValue:[NSKeyedArchiver archivedDataWithRootObject:pasteboardDictionary] forKey:MNTNodesPasteboardType];
[item setValue:pasteboardString forKey:(NSString *)kUTTypeUTF8PlainText];
pasteboard.items = [NSArray arrayWithObject:item];

不要忘记链接 MobileCoreServices 框架来解析 UTI 常量。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iPhone 上复制并粘贴多种数据表示形式 的相关文章

  • 如何从 NetService 获取 IP 地址

    当我得到一个 NetService 对象时 我尝试这样做 NSNetService ss netArray objectAtIndex indexPath row ss delegate self ss resolveWithTimeout
  • 更改 NSManagedObject 属性而不触发委托方法?

    有什么方法 或技巧 可以修改NSManagedObject目前由一名代表持有NSFetchedResultsController不触发didChangeObject and controllerWillChangeContent 委托方法
  • 在 iPhone 通讯簿中创建群组

    我正在开发一个 iPhone 应用程序 该应用程序使用将联系人添加到地址簿中 我已经能够将联系人添加到地址簿 但我面临的问题是在将联系人记录添加到我创建的组时 该联系人将在不在已创建组内的所有联系人下创建 下面是我使用过的代码 create
  • 如何在iPhone SDK中使用标签栏控制器设置视图出口

    我在 Xcode 中创建了一个简单的选项卡栏应用程序 默认选项卡栏有 2 个选项卡栏项目 我添加了第三个选项卡栏项目 并将其视图控制器属性设置为我创建并随后保存的名为 ThirdView xib 的视图 当我尝试运行时 前两个默认选项卡工作
  • 如何解决 iPhone 应用程序中的无效转换说明符警告

    我有 iphone 应用程序 其中为标签分配值 但是当我构建它时 它显示以下警告无效转换说明符 这是标签赋值的代码 label1 text NSString stringWithFormat d newvalue1 The 被解释为格式字符
  • iPhone:AVAudioPlayer 不支持的文件类型

    我的应用程序从我们的服务器下载 mp3 并将其播放给用户 该文件为 64 kbps 如果我理解正确的话 这完全在 iPhone 的可接受范围内 我在几十个网站上查找了如何执行此操作 他们都建议我这样做 NSData data NSData
  • 扭曲的导航栏自定义后退按钮

    我有一个自定义后退按钮 该按钮没有按预期显示 它正在被拉伸 即使后退按钮文本为空 它仍然显示 后退 文本 提前致谢 我通常使用这种技术来使其发挥作用 要删除默认标题 UIBarButtonItem appearance setBackBut
  • 如何在自定义按钮单击时通过@selector传递数据?

    我正在通过代码制作一个按钮 我有以下代码行来在单击按钮时触发方法 imagesButton addTarget self action selector photoClicked forControlEvents UIControlEven
  • 如何使用 Codable 解析此 JSON?

    我一直在尝试从我的中解析这个对象JSON并不断收到此错误 错误 类型不匹配 Swift Array Swift DecodingError Context codingPath debugDescription 本应解码数组 但找到了字典
  • NSDateComponents 中的 sethours

    我正在尝试在 NSDateComponents 中设置小时 我编写了以下代码 NSCalendar calendar NSCalendar alloc initWithCalendarIdentifier NSGregorianCalend
  • 在 Word 2010 中复制形状而不使用 .Select?

    是否可以在 Word 2010 中复制形状而无需借助 Select 根据开发中心 http msdn microsoft com en us library office ff835500 aspx the Anchor属性返回形状的锚定范
  • 完成后未删除时如何重用 CABasicAnimation?

    很多人都在谈论在使用 CABasicAnimation 对象后保留它 所以通过设置 完成时删除 否 当动画完成时 动画对象保持附加到图层 在不创建新的 CABasicAnimation 的情况下 如何重新启动该动画 保留这个物体有什么意义呢
  • 如何“旋转”图层/视图(例如,就像在 enigmo 中一样)

    我知道如何根据触摸移动图层 但我也希望能够旋转图像 是否有任何示例代码显示如何执行此操作 或者有人可以给我一些建议吗 Thanks 最简单的方法是使用图层的变换属性 float angle M PI rotate 180 or 1 radi
  • iPhone 6 隐藏在键盘下方的自动校正

    自动修正UITextview在 Iphone5s 中工作正常 但在 iPhone 6 中它被隐藏在键盘后面 在 iPhone 5s 中按预期工作 但不适用于 iphone 6 有什么办法可以解决 iPhone 6 上的这个问题吗 不 去物业
  • iOS:在代码中访问 app-info.plist 变量

    我正在开发通用应用程序 并且希望访问代码中 app info plist 文件中存储的值 原因 我使用以下方法从故事板动态实例化 UIViewController UIStoryboard storyboard UIStoryboard s
  • 存储和检索多维 NSMutableArray 的最佳方法是什么?

    我将一堆数据存储在 plist 文件 在应用程序文档文件夹中 中 其结构如下 Dictionary description String Value sections Array Array Number Number Array Numb
  • iPhone模拟器的屏幕截图应用程序[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道有没有什么好的推荐iPhone模拟器截图的应用程序 我尝试过 iPhone 屏幕截图裁剪器等应
  • 一个 UITableView 中的两种不同的单元格类型

    大家好 我对如何在一个具有两个部分的 UITableView 中使用两种不同的单元格类型感到非常困惑 第一部分应返回一个大单元格 其中包含大量文本 另一部分应返回三个单元格 以导航到其他视图 我尝试过这样的 UITableViewCell
  • 如何防止 iPhone 4 在添加到主屏幕时截断我的标题?

    我的网页标题很长 当添加到 iPhone 旧版本的主屏幕时 整个标题在确认对话框中可见 当我添加到 iPhone 4 的主屏幕时 标题在第 12 个符号之后被切断 有没有办法阻止这种剪切 让 iPhone 默认显示完整标题 显然会有一个无证
  • ios7 绘图时出现延迟

    我有一个应用程序 在其中我正在视图上绘制一些草图 到目前为止 在我安装之前它运行良好ios7 我的应用程序使用触摸移动方法来识别运动的变化 但是当我画一条线时 触摸方法被调用 但线不会更新 直到我触摸结束ios7 所以画起来有一点点滞后 它

随机推荐

  • 使用 !== 或 != 将 Julia 变量与 `nothing` 进行比较

    在一些 Julia 代码中 何时可以看到条件表达式 例如 if val nothing dosomething end where val是一个类型变量Union Int Nothing 条件有什么区别val nothing and val
  • 返回布尔值和字符串值的最佳实践是什么

    我创建了一个方法 该方法对 XML 层次结构执行一些验证 该层次结构是在运行时由 Javascript 文本中的另一个类动态生成的 我的方法当前返回 True 或 False 这对使用我的类的任何人都有帮助 但我还想返回更多信息 因为可能有
  • CreateRemoteThread 返回 ERROR_ACCESS_DENIED - Windows 7 DLL 注入

    我正在尝试编写一个使用CreateRemoteThread注入一个dll 问题是 CreateRemoteThread 拒绝工作 GetLastError 返回 5 即 ERROR ACCESS DENIED 我不明白为什么 我正在根据这个
  • SNMP 错误,端口已在使用中

    我创建了一个 SNMP 代理模拟器应用程序 它对模拟设备使用端口号 161 有时会出现端口已使用异常 如何知道161端口是否繁忙 只需启动您的应用程序即可 如果它收到 BindException 则该端口正在使用中 如果没有 您的应用程序可
  • 如何在设定时间后关闭 ProgressDialog?

    我试图在 3 秒后自动关闭 ProgressDialog 框 这是对话框 ProgressDialog progress new ProgressDialog this progress setTitle Connecting progre
  • 如何在C#中通过解析Xml创建表达式树?

    我希望通过使用 C 解析 xml 来创建表达式树 xml 如下所示
  • 如何创建历史事实表?

    我的数据仓库中有一些实体 Person 具有 personId dateFrom dateTo 和其他可以更改的属性 例如姓氏 出生日期等 缓慢变化的维度 Document 文档 ID 编号 类型 Address 地址 ID 城市 街道 房
  • 阻止 Hibernate 创建非空约束

    有没有办法阻止 Hibernate 为带有注释的属性创建非空约束 javax validation constraints NotNull使用时hbm2ddl create 来自 Hibernate Validator 的文档 6 1 数据
  • 对包含空标记的字符串进行标记

    我有一个看似简单的问题 就是用逗号分隔String到令牌中 在以下情况下输出应包含空令牌 中的第一个字符String是一个逗号 中的最后一个字符String是一个逗号 出现两个连续的逗号 例如 对于String abd def ghi 应该
  • Java XMLGregorianCalendar 转换为 Java util.Date 时存在错误?

    我正在将日期 时间值写入 XML 文件 方法是从基于 RAP 的 UI 中读取日期作为 Java Date 对象 并将其作为XMLGregorianCalendar反对实际的文件编写代码 相应的类是自动生成的 我无法控制它们 我输入的日期是
  • Java中String(String)构造函数的使用[重复]

    这个问题在这里已经有答案了 我读过的文章和书籍使用String s new String 应该一直避免 我明白为什么会这样 但是使用 String String 构造函数有什么用处吗 我认为不存在 也没有看到任何其他证据 但我想知道 SO
  • 层位置在(核心)动画开始时跳跃

    因此 我尝试创建一个平铺翻转效果 就像在 Windows Phone 7 上一样 到目前为止 我有以下代码 但我有几个疑问 CALayer layer self theRedSquare layer CATransform3D initia
  • C++ 函数导致应用程序崩溃且无法正常工作

    我的应用程序中出现了一个问题 我的 PrintAll 函数无法正常工作 最终只会使我的应用程序崩溃 我的应用程序应该从文件中读取字符串并将它们插入到数组中 问题是它读取不正确 最终会使我的应用程序崩溃 我认为问题出在这儿 int main
  • 如何使用绘图中的范围分隔符?

    我想使用plotly从某些图中的x轴中删除某些间隔 我找到了随附的示例https plotly com python time series https plotly com python time series 但运行它给了我错误 Val
  • 如何从 Twitter 的 firebase 用户获取 @user

    我试图在通过 firebase 登录 Twitter 后访问 Twitter 用户名 但 getDisplayName 方法返回用户名 而不是 有任何想法吗 我已经尝试过这个 FirebaseAuth getInstance getCurr
  • 如何找出一个类属于哪个依赖项?

    我正在使用 m2eclipse 我想在新项目中重用以前项目的一些依赖项 我知道我想使用哪个类 但我似乎无法找出它到底属于哪个依赖项 如果 eclipse 只是告诉我它从中加载的 jar 的名称 我会很高兴 我怀疑有一种方法可以在 Eclip
  • 如何获取字典中的键列表?

    我只想要字典的键而不是值 我还无法获得任何代码来执行此操作 事实证明 使用另一个数组的工作量太大 因为我也使用了删除 如何获取字典中的键列表 Use the Dictionary
  • int 可以别名为 unsigned int 吗? [复制]

    这个问题在这里已经有答案了 编译器生成代码假设int可以通过一个别名unsigned int 下面的代码 int f int a unsigned int b a 10 b 12 return a int f int a double b
  • 为什么这种双重检查锁定是正确的? (。网)

    我读过很多关于双重检查锁定的危险的文章 我会尽力避免它 但话虽如此 我认为他们读起来非常有趣 我正在阅读 Joe Duffy 的这篇关于使用双重检查锁定实现单例的文章 http www bluebytesoftware com blog P
  • 在 iPhone 上复制并粘贴多种数据表示形式

    当我尝试将多个数据表示放到 iPhone 3 0 的粘贴板上时 遇到了一些问题 我想做的是将数据表示形式和字符串表示形式放到粘贴板上 数据是我自己的数据类型 我用它来复制和粘贴到我的应用程序中 字符串表示形式是一种将应用程序的内容作为大纲复