У меня есть объект. У него есть только две строки NSStrings.
Я создал массив для хранения нескольких из этих объектов.
Нужно ли использовать NSKeyedArchiver для сохранения этого массива на диск или я могу просто использовать NSUserDefaults?
Если ваш объект является пользовательским классом, вам нужно будет использовать NSKeyedArchiver перед тем, как поместить содержимое в NSUserDefaults. Смотри здесь .
NSKeyedArchiver
NSUserDefaults
Вы можете просто использовать [[NSUserDefaults standardUserDefaults] setObject:myArray forKey:myKey]; для записи и [[NSUserDefaults standardUserDefaults] arrayForKey:myKey]; для чтения (нет setArray:forKey:, поскольку это не нужно).
[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:myKey];
[[NSUserDefaults standardUserDefaults] arrayForKey:myKey];
setArray:forKey:
Также, если у вас есть массив, который вы не хотите хранить внутри NSUserDefaults, есть простая возможность записывать и читать массивы: - [NSArray writeToFile: atomically:] и + [ NSArray arrayWithContentsOfFile:] . Есть также те же методы для NSDictionary для легкого чтения / записи словарей. Конечно, вы всегда можете свободно использовать NSKeyed (Un) Archiver.