swift - 如何在新对象中正确声明和添加数据
问题描述
我有这个代码:
struct Calculators
{
var calculators: [Calculator]?
var activeCalculator: Int = -1
var activeSummary: Bool = false
var activeProfits: Bool = false
public func getCalculators()-> [Calculator]
{
return calculators!
}
}
struct Calculator
{
var priceSum: Float = 0
var weightSum: Float = 0
var pricePerMix: Float = 0
var pricePerPortion: Decimal?
var portionDivider: Float?
var nettoPortionCost: Float?
var profitPerPortion: Float?
var pricePerKgAfterPrepare: Float?
var weightPerPortionInGrams: Float?
var products : [CountedProduct]?
init() {
createTime = NSDate().timeIntervalSince1970 * 1000
}
}
struct CountedProduct
{
var productCode: String
var productCountable: Bool
var pricePerKg: Decimal?
var weightYieldInPercent: Decimal?
var pieceWeight: Decimal?
}
var countedProduct = CountedProduct(productCode: produkt.code!, productCountable: productCountable, pricePerKg: pricePerKg, weightYieldInPercent: weightYieldInPercent, pieceWeight: pieceWeight)
var activeCalculators = Calculators()
var calculatorToAdd = Calculator()
calculatorToAdd.priceSum = 0
calculatorToAdd.weightSum = 0 //?
calculatorToAdd.pricePerMix = Float(countedProduct.weightAfterPrepareKg as! NSNumber)
calculatorToAdd.pricePerPortion = (countedProduct.costOfTheMixturePerPortion as! NSNumber).decimalValue
calculatorToAdd.portionDivider = 0 //?
calculatorToAdd.nettoPortionCost = Float(countedProduct.costOfTheMixturePerPortion as! NSNumber)
calculatorToAdd.profitPerPortion = Float(countedProduct.overheadOnServing as! NSNumber)
calculatorToAdd.pricePerKgAfterPrepare = Float(countedProduct.pricePerKgAfterPrepare as! NSNumber)
calculatorToAdd.weightPerPortionInGrams = Float(countedProduct.weightAfterPrepareKg as! NSNumber)
calculatorToAdd.products?.append(countedProduct)
calculatorToAdd.products?.append(countedProduct)
我不能改变这些类的形式。如何正确初始化 Calculators 对象?我在产品中有数据。
这段代码正确吗?
我想创建一个计算器对象并将其插入计算器。类代码不能更改。
解决方案
我假设您可以在最后添加到代码中
activeCalculators.calculators = []
activeCalculators.calculators.append(calculatorToAdd)
推荐阅读
- spring-boot - 如何强制休眠返回代理
- php - 计算会话数组中的值时发出警告
- c# - 发送100个快速请求后请求变得很慢HTTPClient C#
- regex - 相同单词之间的正则表达式匹配字符串
- javascript - JS Jquery重复一个功能
- unity3d - 如何统一每秒随机更改对象的颜色?
- vb.net - Strings.InStr 和 Strings.InStrRev 产生不同的结果
- vb.net - 以编程方式停用屏幕保护程序
- javascript - 多个 db 查询作为 json 对象返回。更清洁的方法?
- swift - 关于 SwiftUI 中 View 作为类型约束的问题