Le meilleur didacticiel Méthodes Swift en 2024, dans ce didacticiel, vous pouvez apprendre Méthodes d'instance,Nom du paramètre local et le nom de la méthode, les paramètres externes,propriété d'auto,Modifier la méthode d'instance de type valeur,Dans la variable de processus affecté à l'auto,Type de méthodes,
Swift est une fonction de la méthode associée à certains types
En Objective-C, les classes sont les méthodes que de type défini. Mais Swift, non seulement vous pouvez choisir si vous souhaitez définir une classe / struct / enum, mais aussi flexible dans le type (classe / struct / enum) que vous créez sur la méthode de définition.
Dans le langage Swift, une méthode d'instance appartient à une classe particulière, une structure ou des instances de type énumération.
méthode d'instance fournit les méthodes suivantes:
Vous pouvez accéder et modifier les propriétés d'instance
Exemple fournissant des fonctions liées à l'objet
Des exemples de procédés pour écrire autour d'elle appartient entre les types d'accolades ({}).
Des exemples de méthode implicite peuvent accéder à toutes les méthodes et propriétés d'autres instances du type auquel il appartient.
Des exemples de méthodes ne peuvent être appelées une instance particulière de la classe à laquelle il appartient.
méthode d'instance ne peut pas être séparé de l'instance existante est appelée.
func funcname(Parameters) -> returntype { Statement1 Statement2 …… Statement N return parameters }
import Cocoa class Counter { var count = 0 func increment() { count++ } func incrementBy(amount: Int) { count += amount } func reset() { count = 0 } } // 初始计数值是0 let counter = Counter() // 计数值现在是1 counter.increment() // 计数值现在是6 counter.incrementBy(5) print(counter.count) // 计数值现在是0 counter.reset() print(counter.count)
La sortie de l'exécution du programme ci-dessus est la suivante:
6 0
classe de compteur définit trois méthodes d'instance:
increment
de telle sorte que le compteur est incrémenté d'une unité ; incrementBy(amount: Int)
faire compteur par une valeur entière spécifiée est incrémenté; reset
le compteur est remis à 0. Counter
Cette classe déclare également un attribut de variable count
, l' utiliser pour garder une trace de la valeur courante du compteur.
paramètres de la fonction Swift peuvent avoir à la fois un nom local (dans le corps de la fonction utilisée en interne) et un nom externe (utilisé lors de l'appel de fonctions
méthodes Swift et méthode Objective-C très similaire. Comme en Objective-C, le même que le nom de Swift dans la méthode habituellement une préposition de points à la première méthode de paramètres, par exemple: avec, pour, par, et ainsi de suite.
défaut Swift uniquement à la méthode du premier paramètre le nom d'un nom de paramètre local, la valeur par défaut dans le même temps à la deuxième et après le nom du paramètre nom global de paramètre.
de la no1 'Les exemples suivants déclarés localement dans le nom du paramètre dans le rapide. 'No2 »pour les déclarations globales et accessibles par le biais d'un programme externe.
import Cocoa class division { var count: Int = 0 func incrementBy(no1: Int, no2: Int) { count = no1 / no2 print(count) } } let counter = division() counter.incrementBy(1800, no2: 3) counter.incrementBy(1600, no2: 5) counter.incrementBy(11000, no2: 3)
La sortie de l'exécution du programme ci-dessus est la suivante:
600 320 3666
Nous forçons le premier argument d'ajouter un nom externe au nom du nom local usage externe (Swift 2.0 avant d'utiliser le signe #).
Au lieu de cela, nous pouvons l'utiliser souligne également (_) pour régler les deuxième et les suivants arguments ne fournissent pas un nom externe.import Cocoa class multiplication { var count: Int = 0 func incrementBy(first no1: Int, no2: Int) { count = no1 * no2 print(count) } } let counter = multiplication() counter.incrementBy(first: 800, no2: 3) counter.incrementBy(first: 100, no2: 5) counter.incrementBy(first: 15000, no2: 3)
La sortie de l'exécution du programme ci-dessus est la suivante:
2400 500 45000
Chaque instance du type possède une propriété appelée auto implicite, auto exactement le même que l'instance elle-même.
Vous pouvez utiliser cette auto implicite une propriété dans une instance de méthode d'instance pour faire référence à l'instance en cours.
import Cocoa class calculations { let a: Int let b: Int let res: Int init(a: Int, b: Int) { self.a = a self.b = b res = a + b print("Self 内: \(res)") } func tot(c: Int) -> Int { return res - c } func result() { print("结果为: \(tot(20))") print("结果为: \(tot(50))") } } let pri = calculations(a: 600, b: 300) let sum = calculations(a: 1200, b: 300) pri.result() sum.result()
La sortie de l'exécution du programme ci-dessus est la suivante:
Self 内: 900 Self 内: 1500 结果为: 880 结果为: 850 结果为: 1480 结果为: 1450
structures linguistiques Swift, et les énumérations sont des types de valeur. En général, le type de la valeur de la propriété ne peut pas être modifiée dans ses méthodes d'instance.
Mais si vous avez vraiment besoin de modifier la structure ou des biens énumérés de manière spécifique, vous pouvez choisir la variation (mutation) la méthode, la méthode peut modifier les propriétés de la méthode interne; tout changement, et il le fait à la fin de la méthode, il sera laissé dans la structure originale.
Le procédé peut également donner implicite cession de propriété d'auto une nouvelle instance de cette nouvelle instance pour remplacer l'instance d'origine avec la méthode.
import Cocoa struct area { var length = 1 var breadth = 1 func area() -> Int { return length * breadth } mutating func scaleBy(res: Int) { length *= res breadth *= res print(length) print(breadth) } } var val = area(length: 3, breadth: 5) val.scaleBy(3) val.scaleBy(30) val.scaleBy(300)
La sortie de l'exécution du programme ci-dessus est la suivante:
9 15 270 450 81000 135000
méthode variable peut assigner des attributs auto impliquait une nouvelle instance.
import Cocoa struct area { var length = 1 var breadth = 1 func area() -> Int { return length * breadth } mutating func scaleBy(res: Int) { self.length *= res self.breadth *= res print(length) print(breadth) } } var val = area(length: 3, breadth: 5) val.scaleBy(13)
La sortie de l'exécution du programme ci-dessus est la suivante:
39 65
méthode d'instance est une méthode est appelée une instance du type, vous pouvez également définir le type de méthode elle-même appelle, cette méthode est appelée méthode de type.
structure de déclaration et de la méthode de type énuméré avant la méthode func de mot-clé avec le mot-clé statique. Classe peut utiliser la classe mot-clé pour permettre la mise en œuvre des sous-classes remplacent de la classe parent.
Le même type d'instance et des méthodes utilisant le point (.) Syntaxe d'invoquer.
import Cocoa class Math { class func abs(number: Int) -> Int { if number < 0 { return (-number) } else { return number } } } struct absno { static func abs(number: Int) -> Int { if number < 0 { return (-number) } else { return number } } } let no = Math.abs(-35) let num = absno.abs(-5) print(no) print(num)
La sortie de l'exécution du programme ci-dessus est la suivante:
35 5