Skip to content

Instantly share code, notes, and snippets.

@OlingCat
Last active September 8, 2017 12:04
Show Gist options
  • Save OlingCat/fdaa01b866396c70db10e509758ef101 to your computer and use it in GitHub Desktop.
Save OlingCat/fdaa01b866396c70db10e509758ef101 to your computer and use it in GitHub Desktop.
id title summary questionnaires
0 抑郁症 <Questionnaire>{0}
//
// LocalDB.swift
// PsychoPath
//
// Created by Oling Cat on 2017/7/14.
// Copyright © 2017年 Oling Cat. All rights reserved.
//
import RealmSwift
//protocol ItemPresentable {
// var orderNum: String { get set }
// var quiz: String { get set }
// var options: [String] { get set }
// var range: Int { get set }
// var isReverse: Bool { get set }
// var forGender: String { get set }
//}
//
//protocol QuestPresentable {
// var code: String { get set }
// var title: String { get set }
// var intro: String { get set }
// var role: String { get set }
// var age: Int { get set }
// var base: Int { get set }
// var result: Data { get set }
//
// associatedtype Item: Object, ItemPresentable
// var items: List<Item> { get set }
//}
// 使 Realm 支持数组
class RLMString: Object {
dynamic var raw = ""
}
class RLMFloat: Object {
dynamic var raw: Float = 0.0
}
// 问题
class Quizz: Object {
dynamic var id: Int = 0
dynamic var order: String = ""
dynamic var title: String = ""
var options: [String] {
get {
return _options.map { $0.raw }
}
set {
_options.removeAll()
_options.append(objectsIn: newValue.map({ RLMString(value: [$0]) }))
}
}
let _options = List<RLMString>()
dynamic var range: Int = 0
dynamic var isReverse: Bool = false // 是否反向记分
dynamic var hasExtra: Bool = false // 是含有附加问题
dynamic var forGender: String = ""
override static func primaryKey() -> String? {
return "id"
}
override static func ignoredProperties() -> [String] {
return ["options"]
}
}
extension Quizz {
override var description: String {
return "\norder= \(self.order)\ntitle= \(self.title)"
}
}
// 量表
class Questionnaire: Object {
dynamic var id: Int = 0
dynamic var code: String = ""
dynamic var title: String = ""
dynamic var summary: String = ""
dynamic var intro: String = ""
dynamic var role: String = "normal"
dynamic var age: Int = 18
dynamic var base: Int = 0
dynamic var weight: Int = 0 // 量表权重
dynamic var result: Data?
let items = List<Quizz>()
override static func primaryKey() -> String? {
return "id"
}
}
class Category: Object {
dynamic var id: Int = 0
dynamic var title: String = ""
dynamic var summary: String = ""
let questionnaires = List<Questionnaire>()
override static func primaryKey() -> String? {
return "id"
}
}
class Result: Object {
dynamic var id: Int = 0
let _partScores = List<RLMFloat>() // 各项分数,scores[0] 为总分
dynamic var totalScore: Float = 0.0 // 总分,total = scores[0]
let _explainations = List<RLMString>()
let _suggestions = List<RLMString>()
var partScores: [Float] {
get {
return _partScores.map { $0.raw }
}
set {
_partScores.removeAll()
_partScores.append(objectsIn: newValue.map({ RLMFloat(value: [$0]) }))
}
}
var explainations: [String] {
get {
return _explainations.map { $0.raw }
}
set {
_explainations.removeAll()
_explainations.append(objectsIn: newValue.map({ RLMString(value: [$0]) }))
}
}
var suggestions: [String] {
get {
return _suggestions.map { $0.raw }
}
set {
_suggestions.removeAll()
_suggestions.append(objectsIn: newValue.map({ RLMString(value: [$0]) }))
}
}
override static func primaryKey() -> String? {
return "id"
}
override static func ignoredProperties() -> [String] {
return ["partScores", "explainations", "suggestions"]
}
}
class UserData: Object {
dynamic var id: Int = 0
dynamic var code: String = "" // 量表代码,一般为英文缩写
dynamic var result: Result?
dynamic var date: Date = Date.init()
override static func primaryKey() -> String? {
return "id"
}
}
class User: Object {
dynamic var id: Int = 0
dynamic var username: String = ""
dynamic var password: String = ""
dynamic var email: String = ""
dynamic var phone: String = ""
dynamic var role: String = ""
dynamic var sex: String = "" // 生理性别
dynamic var gender: String = "" // 文化性别
dynamic var avatar: Data?
dynamic var banner: Data?
let userData = List<UserData>()
override static func primaryKey() -> String? {
return "id"
}
}
id code title summary intro role age base weight result items
0 SCL-90 SCL-90 症状自评量表 normal 18 0 0 <null> <Quizz>{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89}
id order title range isReverse hasExtra forGender _options
0 1 头痛。 4 FALSE FALSE <RLMString>{}
1 2 神经过敏,心中不踏实。 4 FALSE FALSE <RLMString>{}
2 3 头脑中有不必要的想法或字句盘旋。 4 FALSE FALSE <RLMString>{}
3 4 头晕和昏倒。 4 FALSE FALSE <RLMString>{}
4 5 对异性的兴趣减退。 4 FALSE FALSE <RLMString>{}
5 6 对旁人责备求全。 4 FALSE FALSE <RLMString>{}
6 7 感到别人能控制您的思想。 4 FALSE FALSE <RLMString>{}
7 8 责怪别人制造麻烦。 4 FALSE FALSE <RLMString>{}
8 9 忘记性大。 4 FALSE FALSE <RLMString>{}
9 10 担心自己的衣饰整齐及仪态的端正。 4 FALSE FALSE <RLMString>{}
10 11 容易烦恼和激动。 4 FALSE FALSE <RLMString>{}
11 12 胸痛。 4 FALSE FALSE <RLMString>{}
12 13 害怕空旷的场所或街道。 4 FALSE FALSE <RLMString>{}
13 14 感到自己的精力下降,活动减慢。 4 FALSE FALSE <RLMString>{}
14 15 想结束自己的生命。 4 FALSE FALSE <RLMString>{}
15 16 听到旁人听不到的声音。 4 FALSE FALSE <RLMString>{}
16 17 发抖。 4 FALSE FALSE <RLMString>{}
17 18 感到大多数人都不可信任。 4 FALSE FALSE <RLMString>{}
18 19 胃口不好。 4 FALSE FALSE <RLMString>{}
19 20 容易哭泣。 4 FALSE FALSE <RLMString>{}
20 21 同异性相处时感到害羞不自在。 4 FALSE FALSE <RLMString>{}
21 22 感到受骗、中了圈套或有人想抓住您。 4 FALSE FALSE <RLMString>{}
22 23 无缘无故地突然感到害怕。 4 FALSE FALSE <RLMString>{}
23 24 自己不能控制地发脾气。 4 FALSE FALSE <RLMString>{}
24 25 怕单独出门。 4 FALSE FALSE <RLMString>{}
25 26 经常责怪自己。 4 FALSE FALSE <RLMString>{}
26 27 腰痛。 4 FALSE FALSE <RLMString>{}
27 28 感到难以完成任务。 4 FALSE FALSE <RLMString>{}
28 29 感到孤独。 4 FALSE FALSE <RLMString>{}
29 30 感到苦闷。 4 FALSE FALSE <RLMString>{}
30 31 过分担忧。 4 FALSE FALSE <RLMString>{}
31 32 对事物不感兴趣。 4 FALSE FALSE <RLMString>{}
32 33 感到害怕。 4 FALSE FALSE <RLMString>{}
33 34 我的感情容易受到伤害。 4 FALSE FALSE <RLMString>{}
34 35 旁人能知道您的私下想法。 4 FALSE FALSE <RLMString>{}
35 36 感到别人不理解您不同情您。 4 FALSE FALSE <RLMString>{}
36 37 感到人们对您不友好,不喜欢您。 4 FALSE FALSE <RLMString>{}
37 38 做事必须做得很慢以保证做得正确。 4 FALSE FALSE <RLMString>{}
38 39 心跳得很厉害。 4 FALSE FALSE <RLMString>{}
39 40 恶心或胃部不舒服。 4 FALSE FALSE <RLMString>{}
40 41 感到比不上他人。 4 FALSE FALSE <RLMString>{}
41 42 肌肉酸痛。 4 FALSE FALSE <RLMString>{}
42 43 感到有人在监视您谈论您。 4 FALSE FALSE <RLMString>{}
43 44 难以入睡。 4 FALSE FALSE <RLMString>{}
44 45 做事必须反复检查。 4 FALSE FALSE <RLMString>{}
45 46 难以作出决定。 4 FALSE FALSE <RLMString>{}
46 47 怕乘电车、公共汽车、地铁或火车。 4 FALSE FALSE <RLMString>{}
47 48 呼吸有困难。 4 FALSE FALSE <RLMString>{}
48 49 一阵阵发冷或发热。 4 FALSE FALSE <RLMString>{}
49 50 因为感到害怕而避开某些东西、场合或活动。 4 FALSE FALSE <RLMString>{}
50 51 脑子变空了。 4 FALSE FALSE <RLMString>{}
51 52 身体发麻或刺痛。 4 FALSE FALSE <RLMString>{}
52 53 喉咙有梗塞感。 4 FALSE FALSE <RLMString>{}
53 54 感到没有前途没有希望。 4 FALSE FALSE <RLMString>{}
54 55 不能集中注意。 4 FALSE FALSE <RLMString>{}
55 56 感到身体的某一部分软弱无力。 4 FALSE FALSE <RLMString>{}
56 57 感到紧张或容易紧张。 4 FALSE FALSE <RLMString>{}
57 58 感到手或脚发重。 4 FALSE FALSE <RLMString>{}
58 59 想到死亡的事。 4 FALSE FALSE <RLMString>{}
59 60 吃得太多。 4 FALSE FALSE <RLMString>{}
60 61 当别人看着您或谈论您时感到不自在。 4 FALSE FALSE <RLMString>{}
61 62 有一些不属于您自己的想法。 4 FALSE FALSE <RLMString>{}
62 63 有想打人或伤害他人的冲动。 4 FALSE FALSE <RLMString>{}
63 64 醒得太早。 4 FALSE FALSE <RLMString>{}
64 65 必须反复洗手、点数目或触摸某些东西。 4 FALSE FALSE <RLMString>{}
65 66 睡得不稳不深。 4 FALSE FALSE <RLMString>{}
66 67 有想摔坏或破坏东西的冲动。 4 FALSE FALSE <RLMString>{}
67 68 有一些别人没有的想法或念头。 4 FALSE FALSE <RLMString>{}
68 69 感到对别人神经过敏。 4 FALSE FALSE <RLMString>{}
69 70 在商店或电影院等人多的地方感到不自在。 4 FALSE FALSE <RLMString>{}
70 71 感到任何事情都很困难。 4 FALSE FALSE <RLMString>{}
71 72 一阵阵恐惧或惊恐。 4 FALSE FALSE <RLMString>{}
72 73 感到在公共场合吃东西很不舒服。 4 FALSE FALSE <RLMString>{}
73 74 经常与人争论。 4 FALSE FALSE <RLMString>{}
74 75 单独一人时神经很紧张。 4 FALSE FALSE <RLMString>{}
75 76 别人对您的成绩没有作出恰当的评价。 4 FALSE FALSE <RLMString>{}
76 77 即使和别人在一起也感到孤单。 4 FALSE FALSE <RLMString>{}
77 78 感到坐立不安心神不定。 4 FALSE FALSE <RLMString>{}
78 79 感到自己没有什么价值。 4 FALSE FALSE <RLMString>{}
79 80 感到熟悉的东西变成陌生或不象是真的。 4 FALSE FALSE <RLMString>{}
80 81 大叫或摔东西。 4 FALSE FALSE <RLMString>{}
81 82 害怕会在公共场合昏倒。 4 FALSE FALSE <RLMString>{}
82 83 感到别人想占您的便宜。 4 FALSE FALSE <RLMString>{}
83 84 为一些有关“性”的想法而很苦恼。 4 FALSE FALSE <RLMString>{}
84 85 您认为应该因为自己的过错而受到惩罚。 4 FALSE FALSE <RLMString>{}
85 86 感到要赶快把事情做完。 4 FALSE FALSE <RLMString>{}
86 87 感到自己的身体有严重问题。 4 FALSE FALSE <RLMString>{}
87 88 从未感到和其他人很亲近。 4 FALSE FALSE <RLMString>{}
88 89 感到自己有罪。 4 FALSE FALSE <RLMString>{}
89 90 感到自己的脑子有毛病。 4 FALSE FALSE <RLMString>{}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment