编译器无法在合理的时间对该表达式进行类型检查;尝试将表达式分成不同的子表达式
//检查窗口框架中的弹出窗口
let spaceFromLeftSide = cutOutViewX.constant + cutOutViewWidth.constant/2 - (options.textWidth + padding*2)/2
let spaceFromRightSide = cutOutViewX.constant + cutOutViewWidth.constant/2 + (options.textWidth + padding*2)/2
答案 0 :(得分:0)
问题在于,由于表达式复杂,编译器无法在时间内计算出值。您需要将这些表达式分成以下子表达式:
let cutOutValue = cutOutViewX.constant + cutOutViewWidth.constant/2
let optionsValue = (options.textWidth + padding*2)/2
let spaceFromLeftSide = cutOutValue - optionsValue
let spaceFromRightSide = cutOutValue + optionsValue
这种中断方式不仅有助于编译,而且有助于调试时,在调试时您可以检查变量的当前值。