- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Swift 的初学者,但我已经完成了 Apple 的应用程序开发类(class),并且开始了一个名为 Training Hub 的大项目,其中有很多很多我在应用程序关闭后必须记住的事情。
我将所有信息放在一个类中,保存为静态变量,但我不知道如何将它们保存到磁盘以便能够加载和保存它们。
在应用程序中,用户能够更改主题,添加例程、锻炼、练习、日志集,以日历格式查看旧 session ,因此他能够自定义内容,并且我必须记住所做的更改他创造了。
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: [])]
}
最佳答案
您可以使您的对象符合Codable
协议(protocol)(例如):
class User: Codable {
//all the stuff goes here
}
然后使用这个简单的功能将它们保存在您的文档目录中
static func store<T: Encodable>(_ object: T, as fileName: String) {
guard let url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else {
fatalError("Could not create URL!")
}
let completeUrl = url.appendingPathComponent(fileName, isDirectory: false)
let encoder = JSONEncoder()
do {
let data = try encoder.encode(object)
if FileManager.default.fileExists(atPath: completeUrl.path) {
try FileManager.default.removeItem(at: completeUrl)
}
FileManager.default.createFile(atPath: completeUrl.path, contents: data, attributes: nil)
} catch {
fatalError(error.localizedDescription)
}
}
用法:
store(user, as: "current_user.json")
关于swift - 我在类内部的静态变量中拥有所有重要的内容,但我似乎找不到保存它的方法。有什么建议么? swift 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56016813/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!