2015-07-07 2 views
0

У меня есть быстрый файл с именем DataModel.swift, который хранит структуру.Как правильно MVC CoreData & NSDefaults

My viewController.swift инициализирует переменную типа struct из DataModel.swift. С помощью этой переменной я могу использовать DataModel.swift для получения значений, вычисления и возврата в ViewController.swift

Пока это отлично работает. Но каждый раз viewController.swift инициализирует структуру, а также сбрасывает структуру. Я хотел бы, чтобы данные структуры были постоянными, поэтому, когда пользователь возвращается, результаты все еще существуют.

Что было бы лучшим способом решить это?

Использовать основные данные? Использовать NSUserDefaults?

Я знаю, как хранить/читать данные на ViewController с использованием данных ядра или NSUserDefaults, но я боюсь, если я это сделаю, я закончу весь код на ViewController, который не звучит MVC для меня ,

Или есть способ хранения, загрузки и вычисления значений, сохраняющих код внутри моего файла DataModel.swift?

Некоторые примеры кода приведены ниже.

ViewController.swift структура инициализация ниже:

var calculations = ConcreteModel(
    width: 0, 
    length: 0, 
    thickness: 0, 
    pricePerCubicMetre: 0, 
    unit: "metric") 

DataModel.swift файл ниже:

struct ConcreteModel { 
    var width: Double 
    var length: Double 
    var thickness: Double 
    var pricePerCubicMetre: Double 
    var unit: String 

    init (
     width: Double, 
     length: Double, 
     thickness: Double, 
     pricePerCubicMetre: Double, unit: String){ 

     self.width = width 
     self.length = length 
     self.thickness = thickness 
     self.pricePerCubicMetre = pricePerCubicMetre 
     self.unit = unit 
    } 

    func gotVolume() -> Bool { 
      return false 
     } 
    } 

    func getVolume() -> Double { 
     return calculation 
    } 

    func getCost() -> Double { 
     return calculation 
    } 
} 

ответ

0

Вы на правильном пути с вашим мышлением. Поместите код для сохранения вашего выбора в класс DataModel.

Смежные вопросы