在预期返回swift的函数中缺少返回

时间:2015-02-23 13:42:58

标签: ios swift

我想创建一个按钮,使背景在红色和绿色之间切换,但我收到此错误:

  

在预期返回UIView的函数中缺少返回

我对编码很新,我用谷歌搜索了一下,但我没有找到任何东西。

语言:夫特

我的代码:

var timeLeft = 0
import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    var buttonColor: UIView! {

        timeLeft = 1
    }

    func update() {
        if timeLeft > 0 {
            view.backgroundColor = UIColor.greenColor()
        }
        else {

            view.backgroundColor = UIColor.redColor()
        }
        timeLeft = timeLeft - 1

    }
}

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

您将buttonColor声明为计算属性,在其正文中要求您返回UIView实例(因为其类型为UIView)。

阅读有关计算属性的herehere,并确保它符合您在案例中发布的需求

答案 1 :(得分:0)

您好,欢迎来到stackoverflow

请记住将您的UIButton连接到代码。否则,单击按钮时代码将无法运行。另外,请考虑使用Bool(true / false)变量来跟踪背景颜色。

请尝试以下代码(请记住通过故事板将'点击' -function连接到按钮):

import UIKit

class ViewController: UIViewController {

    var isGreen = true

    @IBAction func click() {
        if isGreen {
            view.backgroundColor = UIColor.redColor()
            isGreen = false
        } else {
            view.backgroundColor = UIColor.greenColor()
            isGreen = true
        }
    }
}

答案 2 :(得分:0)

var buttonColor:UIView! { get(){ return(UIView的对象) } }