В документах для NSArray и NSDictionary показано, что у каждого из них есть метод экземпляра:
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag
Для NSDictionary
этот метод описывается как
Записывает представление списка свойств содержимого словаря в заданный путь.
Для NSArray
это говорится в обсуждении
Этот метод рекурсивно проверяет, что все содержащиеся в нем объекты являются объектами списка свойств перед записью файла, и возвращает NO, если все объекты не являются объектами списка свойств, поскольку результирующий файл не будет действительным списком свойств.
Так что, по сути, оба из них будут писать списки, если элементы, которые они содержат, могут быть использованы в списках, например. Array, Dictionary, Boolean, Data, Date, Number and String