Swift - 二进制运算符不能应用于

时间:2015-07-15 15:26:36

标签: ios swift progress-bar

我正在尝试在计时器上设置一个进度条并让这段代码尝试实现它但是我在viewDidLoad之外声明的函数中得到了一系列错误。以下是我的工作内容:

import UIKit

class LoadingScreen: UIViewController {


    @IBOutlet weak var progressView: UIProgressView!

    override func viewDidLoad() {
        super.viewDidLoad()
 var time : Float = 0.0
        var timer: NSTimer

        timer = NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector:Selector("setProgress"), userInfo: nil, repeats: true)



    } //close viewDidLoad


func setProgress() {
        time += 0.1
        progressView.progress = time / 3
        if time >= 3 {
            timer.invalidate()
        }
    }



} //close class

以下是我获得的所有错误的屏幕截图: enter image description here

有人有任何想法吗?

1 个答案:

答案 0 :(得分:3)

您需要在viewDidLoad

之外声明您的变量
@IBOutlet weak var progressView: UIProgressView!
var time : Float = 0.0
var timer: NSTimer?

override func viewDidLoad() {
.......

二进制操作数错误是您尝试对两种不同类型执行操作的结果。 time实际上是time.h中声明的函数,它返回typealias time_t。这就是为什么它看起来像你引用自己的变量。你真的试图将0.1(双倍)添加到time指针。