J'ai plusieurs fichiers texte que je veux transférer entre 2 applications. (c'est-à-dire des versions gratuites et payantes de la même application). J'utilise UIPasteboard pour ce faire. Le contenu des fichiers est conservé en mémoire sous NSArrays, et je veux donc copier ces tableaux NSArrays dans la table de montage (version allégée), et les lire depuis la table de montage (version complète).Stockage de NSArray dans UIPasteboard
Pour une raison quelconque, les données ne peuvent pas être lues depuis le carton. Les données sont renvoyées en tant qu'objet NSData, plutôt que NSArray, ce qui signifie, je pense, qu'il n'est pas dans le format requis pour le type de tableau que j'utilise, qui est "public.utf8-plain-text".
Lorsque je lis ou écris des NSStrings avec ce type de tableau, cela fonctionne correctement. J'ai cherché dans les documents Apple, etc, pour voir s'il y avait un type différent que je devrais utiliser pour NSArrays, (ou d'autres objets de liste de propriétés), mais j'ai dessiné un blanc.
Ecrire à la table de montage: (Dans le pDataOutput suivant est un tableau de chaînes, le contenu du fichier):
NSMutableArray *lArrayCopy = [gGlobalData.cPasteBoard.items mutableCopy];
[lArrayCopy replaceObjectAtIndex:pDataFileIdx
withObject:[NSDictionary dictionaryWithObject:pDataOutput
forKey:@"public.utf8-plain-text"]];
gGlobalData.cPasteBoard.items = lArrayCopy;
[lArrayCopy release];
lecture de la table de montage:
NSArray *lPBItems = [pPasteBoard valuesForPasteboardType:@"public.utf8-plain-text"
inItemSet:nil];
NSLog(@"PB Items = NSArray of count %d", lPBItems.count);
Les rendements ci-dessus:
Comme mentionné ci-dessus, il renvoie les données correctement comme NSStrings s'il est écrit en tant que NSStrings.Toute aide serait grandement appréciée. Merci Stephen C