Je souhaite déclarer une variable privée dans une classe dans Swift et y accéder avec des méthodes publiques (en fait internes). Le code suivant est-il correct?Var privé dans une classe dans Swift
class someClass {
// Using underscore here to distinguish variable and method
private var _privateArray: [String]
...
func privateArray() {
return _privateArray
}
func setPrivateArray(someArray: [String]) {
_privateArray = someArray
}
}
La raison pour laquelle je veux utiliser ce qui précède est parce que je veux utiliser le tableau dans toutes les sous-classes, mais avec un nom qui est significatif pour la sous-classe.
class someSubclass: someClass {
var arrayWithMeaningfulName: [String]
init() {
arrayWithMeaningfulName = super.privateArray()
...
}
}
Vous ne savez pas si ce qui précède est la meilleure façon de réaliser ce que je veux. Soyez reconnaissant pour les commentaires.
D'ailleurs, j'ai essayé de déclarer la variable privée comme suit, mais le compilateur se plaint:
class someClass {
private var _privateArray: [String] {
get {
...
}
set {
...
}
...
Qu'est-ce qui vous fait penser que ce n'est peut-être pas «à peu près juste»? –
Quel serait l'avantage/l'utilisation des accesseurs publics pour une variable privée (question sérieuse)? – Koen
'" La raison pour laquelle je veux utiliser ce qui précède est parce que je veux utiliser le tableau dans toutes les sous-classes, mais avec un nom significatif pour la sous-classe. "' Cela n'a pas beaucoup de sens pour moi. Bien sûr, je suis tout à fait pour des variables bien nommées, mais je pense que j'ai besoin d'un exemple plus concret de ce que vous essayez d'accomplir ici parce que cela n'a pas beaucoup de sens. – nhgrif