Я новичок в Swift, но я прошел курс Apple по разработке приложений и запустил большой проект под названием Training Hub, в котором есть много-много вещей, которые я должен запомнить после закрытия приложения.
У меня есть вся информация в одном классе, сохраненная как статические переменные, но я не знаю, как сохранить их на диск, чтобы можно было загружать и сохранять их.
В приложении пользователь может изменять тему, добавлять подпрограммы, тренировки, упражнения, наборы журналов, просматривать старые сеансы в формате календаря, поэтому он может настроить содержимое, и я должен запомнить изменения, которые он сделал.
class User {
static var name: String = "Alex"
static var weight = Weight(kg: 0)
static var height = Height(metres: 0, centimetres: 0)
static var bodyFat = BodyFat()
static var bodyType: String = "Male"
static var goals: [Goal] = []
static var routines: [Routine] = [
Routine(name: "TestRoutine1", workouts: [], type: routineType[0], creator: "Training Hub", rating: rating[3], notes: nil),
Routine(name: "TestRoutine2", workouts: [], type: routineType[0], creator: "Training Hub", rating: rating[3], notes: nil)]
static var currentUnit: String = "Metric"
static var sessions: Dictionary<String, Session> = [:]
static var measurements: [Measurement] = [
Measurement(bodyPart: "Wrist", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Waist", point: "at navel", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Hip", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Forearm", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Chest", point: "at middle of sternum", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Shoulders", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Biceps", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Quadriceps", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Calf", point: "at fullest point", circumference: Circumference(inches: 0), entry: []),
Measurement(bodyPart: "Neck", point: "at fullest point", circumference: Circumference(inches: 0), entry: [])]
}