0
我不知道是否有人遇到了這個問題。我今天更新了我的Xcode到8.2.1。當我嘗試在scrollView上放置幾個按鈕時,發現一個類型推斷錯誤。核心代碼如下所示:Xcode 8.2.1中的Swift 3類型推理錯誤,用swift樣式語句
for i in 0 ..< 6 {
let titleButton = UIButton(frame: CGRect(x: CGFloat(i) * titleWidth, y: 0, width: titleWidth, height: titleHeight))
sv.addSubview(titleButton)
}
的代碼沒有問題放置在滾動視圖(SV)6個按鈕,但是當我試圖設置爲每個按鈕一個標題使用通話:的初始化下setTitle(_ title: String?, for state: UIControlState)
按鈕,Xcode沒有顯示方法完成的提示。我發現原因是'titleButton'被Xcode推斷爲錯誤類型。
然後我嘗試:
for i in 0 ..< 6 {
let frame = CGRect(x: CGFloat(i) * titleWidth, y: 0, width: titleWidth, height: titleHeight)
let titleButton = UIButton(frame: frame)
sv.addSubview(titleButton)
}
並發現「框架」被推斷爲錯誤的類型,所以「titleButton」的類型推斷失敗從框架看起來。最後我發現從這個for語句開頭的變量'i'被推斷爲錯誤類型,即原點。
我在過去的Xcode版本中沒有找到類似的問題。如果我真的需要在for循環中的邏輯中使用'i',是否有人有想法解決推理錯誤?