NSUserDefaults и Core Data выполняют две разные задачи, и вы должны выбрать ту, которая соответствует данным, которые вы хотите сохранить.
Несмотря на историческое название, NSUserDefaults предназначены для настройки приложения. ( В прежние дни Next, существовал сложный набор доменов предпочтений на основе сети, из которых NSUserDefaults был просто самым нижним / локальным набором предпочтений. В iOS они стали просто предпочтениями, а вмещающие домены были удалены или скрыт. ) Если данные, которые вы хотите сохранить, относятся к состоянию приложения, например пользователь выбирает макет пользовательского интерфейса (например, шрифты или режим запуска), последнее открытое представление, последнюю просмотренную веб-страницу, а затем эта информация должна перейти в значения по умолчанию.
Базовые данные, напротив, предназначены для реализации всего уровня модели данных приложения разработки Model-View-Controller (которым являются все приложения iOS). Его основная задача - не сохранение / сохранение, а моделирование / симуляция логики и взаимосвязей, связанных к данным приложения. Действительно, уровень модели - это сущность логики приложений, а контроллеры и представления просто взаимодействуют.
Таким образом, Core Data излишне экономит маленькие кусочки данных, которые есть у вас. Вы, конечно, можете это сделать, но это все равно, что ехать на грузовике до QuickyMart, чтобы перевезти литр молока.
Возможно, еще важнее, если данные представляют собой данные о состоянии приложения, то они должны быть по умолчанию для пользователя, чтобы (1) данные были доступны при запуске приложения и (2) они были доступны в любом месте приложения.