我正在编写一个应用程序,我有一段代码如下所示:
let DestViewController: ftrViewController = segue.destinationViewController as! ftrViewController
let weightInt: Int? = Int(weightInKilos.text!)
let dehydrationInt: Int? = Int(percentOfDehydration.text!)
let lossesInt: Int? = Int(ongoingLosses.text!)
let factorFloat: Float? = Float(Factor.text!)
let lrs24Int = (30 * weightInt! + 70) * factorFloat! + weightInt! * dehydrationInt! * 10 + lossesInt!
但是,Xcode 表示 Expression 太复杂,无法在合理的时间内解决;考虑将表达式分解为不同的子表达式
。
我的方程式看起来很正确,我不认为我的方程式太复杂,因为当问题只是我没有正确声明整数(处理 ?s 和!s).
有没有人在我的代码中看到导致此错误的问题,或者表达式真的太难了,计算机无法在合理的时间内解决?谢谢!
PS- 我认为问题可能是 float ,因为在我添加 float 之前,它工作正常。
最佳答案
Rewritten Code
let weightInt: Float? = Float(weightInKilos.text!)
let dehydrationInt: Float? = Float(percentOfDehydration.text!)
let lossesInt: Float? = Float(ongoingLosses.text!)
let factorFloat: Float? = Float(Factor.text!)
let step1 = (30 * weightInt! + 70) * factorFloat! + weigh
let lrs24Int = step1 * dehydrationInt! * 10 + lossesInt!
这不仅仅是 float 问题。我使用 float 来避免类型转换,因为它们都是 float。主要问题是表达的复杂性。
关于ios - 为什么 xcode 为我的 Swift 代码显示 "Expression was too complex to be solved in reasonable time..."?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35519094/