ios - 有没有更好的方法来实例化我的环境对象类?- 斯威夫特用户界面
问题描述
我目前正在使用以下模型类共享一个环境对象:
//
// UserInfoModel.swift
// CalorieTrackerDis
//
// Created by Matthew Pearce on 01/12/2020.
//
import Foundation
class UserInfoModel: ObservableObject {
struct UserInfo: Identifiable {
var id = UUID()
var firstName: String
var lastName: String
var height: Int
var weight: Int
var genderIsMale: Bool
var age: Int
}
struct DailyCalorieGoals: Identifiable{
var id = UUID()
var calorieGoal: Int
var fatGoal: Int
var proteinGoal: Int
var carbGoal: Int
}
struct CurrentCalorieProgress: Identifiable{
var id = UUID()
var calorieProgress: Int
var fatProgress: Int
var carbProgress: Int
}
@Published var personUserInfo = UserInfo.init(firstName: "", lastName:"", height: 0, weight: 0, genderIsMale: true, age: 0)
@Published var personDailyCalorieGoals = DailyCalorieGoals.init(calorieGoal: 0, fatGoal: 0, proteinGoal: 0, carbGoal: 0)
@Published var personCurrentCalorieProgress = CurrentCalorieProgress.init(calorieProgress: 0, fatProgress: 0, carbProgress: 0)
}
从我的代码的最后几行可以看出,我用空值实例化了一个新对象,有没有更好的方法来使用所有结构创建新对象而不分离对象?
解决方案
推荐阅读
- php - 为什么 Smarty 在嵌套循环中不起作用?
- sql-server - 从 Linux 共享主机连接 IIS Web 服务器 MSSQL
- javascript - 无法解决此问题:错误:需要 Babel“^7.0.0-0”,但加载了“6.26.3”
- node.js - 尝试发布请求时,我在猫鼬中收到验证错误
- c# - Visual Studio 2019 中的 ANTLR4 运行时问题
- assembly - MOV指令修改指针
- javascript - 从插值内的属性中提取数字
- reactjs - history.push() 正在更新 url 但不重新渲染组件
- amazon-web-services - AWS lambda,C# 异步邮件发送问题 - MailJet API
- javascript - 如何使用带有axios和vuejs的url参数动态查询for循环