Swift:错误:在类型上使用实例成员

use*_*482 17 xcode swift swift2

我正在尝试构建一个快速的脚本,但我遇到了这个错误:

./1.swift:10:11: error: use of instance member 'thisIsmyFunction' on type 'myScript'; did you mean to use a value of type 'myScript' instead?
 myScript.thisIsmyFunction()
 ~~~~~~~~ ^
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

#!/usr/bin/swift
import Foundation
class myScript {
    func thisIsmyFunction() {
        print("Do something in there!")
    }
}
myScript.thisIsmyFunction()
Run Code Online (Sandbox Code Playgroud)

我要做的是访问该功能并执行打印.

你们中的任何人都知道我做错了什么?

我真的很感谢你的帮助.

Dom*_*c K 55

您只能在类的实例上调用实例方法.例如,您必须创建一个实例myScript,然后调用它:

let script = myScript()
script.thisIsmyFunction()
Run Code Online (Sandbox Code Playgroud)

你也可以选择创建thisIsmyFunction一个类方法(在Swift中正式称为"类型方法"),并像你现在所做的那样调用它:

class func thisIsmyFunction() {...}
Run Code Online (Sandbox Code Playgroud)

注意class前面的修饰符func.当然,这意味着你无法访问self函数内部,因为不再有类的实例.

有关更多信息,请参阅有关方法Swift文档.

旁白:Swift类应该以大写字母开头.

  • 关于类修饰符的重要提示!清理了很多东西. (3认同)