Существуют ограничения на типы, которые вы можете хранить: все они должны быть объектами Списка свойств, а именно NSString
, NSNumber
, NSData
, NSArray
и NSDictionary
.Кроме того, вы можете хранить NSArray
и NSDictionary
, только если значения также являются объектами списка свойств;Кроме того, все ключи NSDictionary
должны быть строками.
Обратите внимание, что такого объекта, как UIColor
, нет в списке выше.Поэтому, если вы хотите сохранить цвет в базе данных по умолчанию, вам нужно сначала преобразовать его в строку или объект данных, а затем преобразовать его обратно при чтении значений по умолчанию.
Что касается пределов размера,ни один из них не задокументирован, но обратите внимание, что все данные будут сохранены в виде файла списка свойств.Весь файл считывается и записывается целиком, поэтому, если вы используете NSUserDefaults
для хранения большого количества данных, которые меняются только по частям, вы будете тратить много времени на ненужные операции ввода-вывода.