如何修正错误"预期声明"在斯威夫特?

时间:2017-11-11 16:21:12

标签: swift void

我有点误解如何在swift中正确使用 - (void)。每当我尝试使用 - (Void)编写代码时,我都会收到错误" Expected declaration"或者有时" Binary operator '-' cannot be applied to operands of type 'UIFont' and '(Void).Type'"。

为什么会这样?在swift中正确使用此功能的正确方法是什么?

{

- (Void)keyboardWillShow { //>> showing me the error "Binary operator '-' cannot be applied to operands of type 'UIFont' and '(Void).Type'"
        // Animate the current view out of the way
        if (self.view.frame.origin.y >= 0)
        {
            [self setViewMovedUp:YES];
        }
        else if (self.view.frame.origin.y < 0)
        {
            [self setViewMovedUp:NO];
        }
    }

}

由于

2 个答案:

答案 0 :(得分:5)

听起来你正在尝试声明一个没有返回值的函数。在Swift中,这可以完成:

func thisFunction() {
  ..
}

答案 1 :(得分:-2)

您可以返回如下代码所示的nil值:

func myFunc(myVar: String) -> ()? {
    print(myVar)
    return nil
    }
var c = myFunc("Hello") 
print(c) // nil

但是如果没有声明,Swift函数总是返回默认值nil。如下代码:

func myFunc(myVar: String) {
        print(myVar)
        return
        }
    var c = myFunc("Hello") 
    print(c) // ()