Swift 版本 2 布尔

Swift Version 2 Bool

我在 Swift2 中创建应用程序时遇到问题。
该应用程序有一张狼的图像,每 0.4 秒更改一次以显示 运行 只狼。

但是我在 Swift 2 中有 Bool 错误,我无法修复。
我也有声明 void 函数的问题。
任何帮助,将不胜感激。

    @IBAction func startRunnng(sender: UIButton)
    {
        tmrRun = NSTimer.scheduledTimerWithTimeInterval(0.4, target: self, selector: "update", userInfo: nil, repeats: true)

        btnGo.userInteractionEnabled = NO;
        btnStop.userInteractionEnabled = YES;
        sliSpeed.userInteractionEnabled = NO;
    }

    @IBAction func stopRunnng(sender: UIButton)
    {
        tmrRun invalidate()
        btnGo.userInteractionEnabled = YES;
        btnStop.userInteractionEnabled = NO;
        sliSpeed.userInteractionEnabled = YES;
    }

    void takeaBound
    {
        String *imageName = [NSString stringWithFormat:@"wolf%d.png", pic];self.imvWolf.image = [UIImage imageNamed:imageName];
            pic += 1;
            if (pic == 8)
            pic = 0;
    }

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

Swift中的布尔值是truefalseYESNO在Objective C中使用。

所以在你的 stopRunning 方法中,你应该写:

@IBAction func stopRunnng(sender: UIButton)
{
    tmrRun invalidate()
    btnGo.userInteractionEnabled = true
    btnStop.userInteractionEnabled = false
    sliSpeed.userInteractionEnabled = true
}

(旁注,您也不需要 Swift 中的 ;

关于 void 函数。在 Swift 中,您在方法声明之后编写 return 类型,以 -> 开头。像这样:

func takeABound(parametersWouldGoHere) -> () 

对于 void 方法,您可以编写 ()Void,或者像您经常做的那样,根本不写任何东西。

func takeABound(parametersWouldGoHere)

正如 "The Swift Programming Language" 在关于 functions

的章节中所说

Because it does not need to return a value, the function’s definition does not include the return arrow (->) or a return type.

您可以在 "The Swift Programming Language" 中阅读有关函数、布尔值等的更多信息,其中有一章名为 "A Swift Tour" 的精彩章节将向您介绍许多基本知识。

希望对您有所帮助