У меня есть быстрый файл с именем 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
}
}