我正在尝试使用一些代码来创建一个使用Xcode 7.3和Swift 2.2的初学者应用程序,但我一直遇到同样的问题。我之前使用过类似的代码,但这只是不起作用。出现的错误消息是"预期','分离器"当我修复它时,同样的消息一次又一次地出现。我也得到了#34;表达式列表中的预期表达式"和"缺少参数' action'在电话"。他们都是由同一行引起的
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(_:)), forControlEvents: .TouchDown)
这是代码
import UIKit
class RatingControl: UIView {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let button = UIButton(frame: CGRect(x: 0, y: 0, width: 44, height: 44))
button.backgroundColor = UIColor.redColor()
button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(_:)), forControlEvents: .TouchDown)
addSubview(button)
}
override func intrinsicContentSize() -> CGSize {
return CGSize(width: 240, height: 44)
}
func ratingButtonTapped(button: UIButton) {
print("Button pressed")
}
}
答案 0 :(得分:5)
您需要清理项目。
按 Shift + ⌘ + K
答案 1 :(得分:1)
您可以尝试以下代码:
button.addTarget(self, action: "ratingButtonTapped:", forControlEvents: .TouchDown)
答案 2 :(得分:1)
hist
是Swift 2.2,它附带Xcode 7.3,所以你必须将Xcode更新到最新版本。
完成后,如果您的Xcode在升级后感到困惑,请帮助它:转到“Product> Clean”菜单,并在必要时清除“derived data”文件夹。
注意:这是我对OP的评论所得出的答案,解决了他们的问题。
答案 3 :(得分:0)
我遇到类似的问题,我在这里创建了UIButton:
let button = UIButton()
button.frame = CGRect(x: 0.0, y: 0.0, width: size, height: size)
对我来说,当我改变按钮的创建方式时,错误就消失了:
let button = UIButton(type: .System)
button.frame = CGRect(x: 0.0, y: 0.0, width: size, height: size)
清理项目或删除派生数据都没有为我解决问题。我使用的是Xcode 7.3.1。
答案 4 :(得分:0)
您应该清理项目:
产品->清洁