Les méthodes de classe (ou statiques) en Objective-C ont été réalisées à l'aide +
de déclarations.
@interface MyClass : NSObject
+ (void)aClassMethod;
- (void)anInstanceMethod;
@end
Comment cela peut-il être réalisé dans Swift?
Ils sont appelés propriétés de type et méthodes de type et vous utilisez les mots clés class
ou static
.
class Foo {
var name: String? // instance property
static var all = [Foo]() // static type property
class var comp: Int { // computed type property
return 42
}
class func alert() { // type method
print("There are \(all.count) foos")
}
}
Foo.alert() // There are 0 foos
let f = Foo()
Foo.all.append(f)
Foo.alert() // There are 1 foos
class
mot - clé avant une fonction ou une propriété de type calculé.Ils sont appelés propriétés de type et méthodes de type dans Swift et vous utilisez le mot-clé class.
Déclarer une méthode de classe ou une méthode Type dans swift:
Accéder à cette méthode:
ou vous pouvez référer des méthodes dans swift
la source
Faites précéder la déclaration de
class
si c'est une classe ou destatic
si c'est une structure.la source
func
mot - clé ici?Swift 1.1 n'a pas de propriétés de classe stockées. Vous pouvez l'implémenter à l'aide d'une propriété de classe de fermeture qui récupère un objet associé lié à l'objet de classe. (Fonctionne uniquement dans les classes dérivées de NSObject.)
la source
Ajoutez à la déclaration une classe ou un static s'il s'agit d'une fonction, ou un static s'il s'agit d'une propriété.
la source