web-dev-qa-db-fra.com

Swift: erreur: utilisation du membre d'instance sur le type

J'essaie de construire un script Swift mais je suis coincé avec cette erreur:

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

Voici mon code:

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

Ce que j'essaie de faire, c'est d'accéder à la fonction et d'exécuter l'impression.

L'un de vous sait ce que je fais mal?

J'apprécierai vraiment votre aide.

17
user2924482

Vous ne pouvez appeler une méthode d'instance que sur une instance d'une classe. Par exemple, vous devez créer une instance de myScript, puis l'appeler:

let script = myScript()
script.thisIsmyFunction()

Vous pouvez également choisir de faire de thisIsmyFunction une méthode de classe (qui est officiellement connue sous le nom de "méthode de type" dans Swift), et l'appeler comme vous le faites actuellement:

class func thisIsmyFunction() {...}

Notez le modificateur class devant func. Bien sûr, cela signifie que vous ne pouvez pas accéder à self à l'intérieur de la fonction, car il n'y a plus d'instance de la classe.

Pour plus d'informations, consultez la documentation Swift sur les méthodes .

Mis à part: Swift doivent commencer par des majuscules.

54
Dominic K