Ho diversi file di testo che desidero trasferire tra 2 app. (es. versioni gratuite e a pagamento della stessa app).Memorizzazione di NSArray in UIPasteboard
Sto usando UIPasteboard per fare questo. I contenuti dei file sono conservati in memoria come NSArrays, quindi voglio copiare questi NSArrays nel pasteboard (versione lite) e leggerli dal pasteboard (versione completa).
Per qualche motivo, i dati non possono essere letti dal cartoncino. I dati vengono restituiti come un oggetto NSData, piuttosto che NSArray, che a mio avviso significa che non è nel formato richiesto per il tipo di cartoncino che sto usando, che è "public.utf8-plain-text".
Quando leggo/scrivo NSStrings con questo tipo di cartoncino, funziona perfettamente.
Ho cercato tra i documenti Apple, ecc., Per vedere se c'è un tipo diverso che dovrei usare per NSArrays (o altri oggetti di elenchi di proprietà), ma ho disegnato uno spazio vuoto.
Scrivendo al tavolo di montaggio: (Nel seguito pDataOutput è un array di stringhe, contenuto del file):
NSMutableArray *lArrayCopy = [gGlobalData.cPasteBoard.items mutableCopy];
[lArrayCopy replaceObjectAtIndex:pDataFileIdx
withObject:[NSDictionary dictionaryWithObject:pDataOutput
forKey:@"public.utf8-plain-text"]];
gGlobalData.cPasteBoard.items = lArrayCopy;
[lArrayCopy release];
Lettura dal tavolo di montaggio:
NSArray *lPBItems = [pPasteBoard valuesForPasteboardType:@"public.utf8-plain-text"
inItemSet:nil];
NSLog(@"PB Items = NSArray of count %d", lPBItems.count);
I rendimenti di cui sopra:
PB Items = NSArray of count 0
Come accennato in precedenza, restituisce i dati correttamente come NSStrings se scritti come NSStrings.
Qualsiasi aiuto sarebbe molto apprezzato. Grazie Stephen C