web-dev-qa-db-ja.com

Swift:エラー:型でのインスタンスメンバーの使用

Swiftスクリプトを作成しようとしていますが、このエラーで立ち往生しました:

./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()
 ~~~~~~~~ ^

ここに私のコードがあります:

#!/usr/bin/Swift
import Foundation
class myScript {
    func thisIsmyFunction() {
        print("Do something in there!")
    }
}
myScript.thisIsmyFunction()

私がやろうとしているのは、関数にアクセスして印刷を実行することです。

あなたが誰かが私が間違っていることを知っていますか?

あなたの助けに本当に感謝します。

17
user2924482

クラスのインスタンスでのみインスタンスメソッドを呼び出すことができます。たとえば、myScriptのインスタンスを作成してから呼び出す必要があります。

let script = myScript()
script.thisIsmyFunction()

thisIsmyFunctionをクラスメソッド(Swiftでは正式に「タイプメソッド」と呼ばれます)にして、今のように呼び出すこともできます。

class func thisIsmyFunction() {...}

classの前にあるfunc修飾子に注意してください。もちろん、これは、クラスのインスタンスがなくなったため、関数内でselfにアクセスできないことを意味します。

詳細については、 メソッドに関するSwiftのドキュメント を参照してください。

さておき:Swiftクラスは大文字で始める必要があります。

54
Dominic K