我有几个要在 2 个应用程序之间传输的文本文件。(即同一应用程序的免费和付费版本)。
我正在使用 UIPasteboard 来做到这一点。文件的内容作为 NSArrays 保存在内存中,所以我想将这些 NSArrays 复制到粘贴板(精简版),并从粘贴板(完整版)中读取它们。
由于某种原因,无法从粘贴板读回数据。数据作为 NSData 对象返回,而不是 NSArray,我认为这意味着它不是我使用的粘贴板类型所需的格式,即“public.utf8-plain-text”。
当我用这种粘贴板类型读/写 NSStrings 时,它工作正常。
我搜索了 Apple 文档等,看看是否有我应该为 NSArrays 使用的不同类型(或其他属性列表对象),但画了一个空白。
写入粘贴板:(在下面的 pDataOutput 是一个字符串数组,文件内容):
NSMutableArray *lArrayCopy = [gGlobalData.cPasteBoard.items mutableCopy];
[lArrayCopy replaceObjectAtIndex:pDataFileIdx
withObject:[NSDictionary dictionaryWithObject:pDataOutput
forKey:@"public.utf8-plain-text"]];
gGlobalData.cPasteBoard.items = lArrayCopy;
[lArrayCopy release];
从粘贴板中读取:
NSArray *lPBItems = [pPasteBoard valuesForPasteboardType:@"public.utf8-plain-text"
inItemSet:nil];
NSLog(@"PB Items = NSArray of count %d", lPBItems.count);
以上返回:
PB Items = NSArray of count 0
如上所述,如果写为 NSStrings,它会正确地将数据作为 NSStrings 返回。
任何帮助将不胜感激。谢谢斯蒂芬C