健身追踪iOS应用Realm数据库训练组数据结构设计问询
健身追踪iOS应用Realm数据结构设计问题
这是我首次在Stack Overflow提问,若表述存在疏漏还请谅解。我目前正在开发一款健身追踪类iOS应用,因Realm使用、更新便捷,选择其作为本地数据库方案,目前在数据结构设计环节遇到瓶颈。
现有实现与卡点
我的核心需求是维护训练动作库与训练记录两类数据,当前卡点为训练组(WorkoutSet)与训练记录的关联逻辑设计。我最初的设计思路是单条训练记录下关联多个训练动作,编写的测试数据结构代码如下:
class Workout: Object { @Persisted(primaryKey: true) var _id: ObjectId // 单条训练记录包含多个训练动作 @Persisted var exercises: List<Exercise> } class Exercise: Object { @Persisted(primaryKey: true) var _id: ObjectId @Persisted var name: String = "" @Persisted var equipment: String = "" @Persisted var bodyPart: String = "" @Persisted var workoutSets: List<WorkoutSet> } class WorkoutSet: Object { @Persisted var reps: Int? // 每组完成次数 @Persisted var lbs: Double // 每组负重重量(磅/千克) @Persisted var notes: String? // 每组备注信息 }
设计目标
我希望能够复用训练动作的基础信息,同时保证每一次训练记录的数据完全独立,目前无法确定训练组数据应当挂载在哪个模型下、如何实现关联追踪。
补充业务场景
此前有反馈指出问题表述不够清晰,现补充具体业务场景说明:
我周一完成一次训练,其中包含卧推动作,共完成3组、每组10次、负重135磅;周三再次训练,同样安排了卧推动作,本次完成4组、每组8次、负重225磅。训练组数据需要同时关联具体训练动作与单次训练记录,我始终无法确定其在数据模型中的合理设计方案,反复思考没有结论,特此询问最优实现思路。
内容的提问来源于stack exchange,提问作者Zac Rose
相关产品推荐
相关产品推荐

