Хранение NSArray в UIPasteboard

У меня есть несколько текстовых файлов, которые я хочу передать между двумя приложениями. (т.е. бесплатная и платная версии одного и того же приложения).

Для этого я использую 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

5
задан stephencampbell 6 February 2012 в 17:23
поделиться