"表达式列表中的预期表达式"

时间:2016-03-22 21:34:31

标签: ios xcode7.3 swift2.2

我正在尝试使用一些代码来创建一个使用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")
    }
}

5 个答案:

答案 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)

您应该清理项目:

产品->清洁