Utilisez NSKeyedArchiver (qui est la dernière phrase de l'article auquel Garrett renvoie) :
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
Notez que tous les objets dans array
doit être conforme à la NSCoding
protocole. S'il s'agit d'objets personnalisés, cela signifie que vous avez besoin de lire sur Encodage et décodage d'objets .
Notez que cela créera un format de liste de propriétés assez difficile à lire, mais peut gérer une très large gamme d'objets. Si vous avez un tableau très simple (des chaînes par exemple), vous pouvez utiliser NSPropertyListSerialization, qui crée une liste de propriétés un peu plus simple :
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:array format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];
Il existe également une constante de format XML que vous pouvez transmettre si vous préférez qu'elle soit lisible sur le fil.