遷移到swift3後喜歡。我有這個問題嗎?你們的人知道什麼是錯的嗎?swift3中的模糊引用
曖昧參考成員 「/」
let rateForPeriod = interestRate!/Double(100)/Double(K.monthsEachYear)
遷移到swift3後喜歡。我有這個問題嗎?你們的人知道什麼是錯的嗎?swift3中的模糊引用
曖昧參考成員 「/」
let rateForPeriod = interestRate!/Double(100)/Double(K.monthsEachYear)
如果我是你,我會用可選結合檢查的InterestRate是否零與否。
let interestRate: Double? = 0.4
if let interestRate = interestRate {
let rateForPeriod = interestRate/Double(100)/Double(1)
}
恭喜! 您可能剛在編譯器中發現了一個錯誤!
試試你的代碼的一些變化:
這種失敗:
let optional: Double? = 1
let result = optional!/Double(1)/Double(1)
這工作:
let optional: Double? = 1
let unwrapped = optional!
let result = unwrapped/Double(1)/Double(1)
這種失敗:
let rateForPeriod = (Double(1) as Double?)!/Double(1)/Double(1)
但這個作品:
let rateForPeriod = ((Double(1) as Double?)! as Double)/Double(1)/Double(1)
所以這個工程太:
let optional: Double? = 1
let rateForPeriod = optional! as Double/Double(1)/Double(1)
這似乎是新的可選解纏規則的副作用(可能錯誤)。
注意,這樣做只有一個師在同一時間按預期工作:
let optional: Double? = 1
let rateForYear = optional!/Double(1)
let rateForPeriod = rateForYear/Double(1)
我們應該做什麼?
嘗試看看,如果你能做出的InterestRate不可選,使用保護條款或給它這樣的默認值: let rate = interestRate ?? 0
。
'interestRate'的類型? –
double type bro –
如果我這樣寫就好像錯誤消失了 var rateForPeriod = interestRate!/Double(100) rateForPeriod = rateForPeriod/Double(K.monthsEachYear) 是否正確的解決方法? –