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',是否有人有想法解决推理错误?