У меня есть несколько текстовых файлов, которые я хочу передать между двумя приложениями. (т.е. бесплатная и платная версии одного и того же приложения).
Для этого я использую 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.
Любая помощь будет принята с благодарностью. Спасибо Stephen C