Використовуйте NSKeyedArchiver (що є останнім реченням посилання Гарретта):
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:array];
Зверніть увагу, що всі об’єкти, що знаходяться у, arrayповинні відповідати NSCodingпротоколу. Якщо це користувальницькі об'єкти, то це означає, що вам потрібно прочитати про об'єкти кодування та декодування .
Зауважте, що це створить досить важкий для читання формат списку властивостей, але може обробляти дуже широкий діапазон об’єктів. Якщо у вас дуже простий масив (наприклад, рядки), ви можете використовувати NSPropertyListSerialization, який створює трохи простіший список властивостей:
NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:array format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];
Існує також константа формату XML, яку ви можете передати, якщо хочете, щоб її можна було прочитати на дроті.