首页 > 解决方案 > 有没有更好的方法来实例化我的环境对象类?- 斯威夫特用户界面

问题描述

我目前正在使用以下模型类共享一个环境对象:

//
//  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)

}

从我的代码的最后几行可以看出,我用空值实例化了一个新对象,有没有更好的方法来使用所有结构创建新对象而不分离对象?

标签: iosswiftswiftui

解决方案


推荐阅读