En C++, vous pouvez spécifier des sections "public:/private:" dans vos définitions de classe. Existe-t-il un moyen de le faire dans Swift 3 ou dois-je utiliser le mot-clé "private" devant chaque objet que je souhaite être privé?Section privée swift 3 dans la définition Struct/Class
Répondre
Si vous avez
class MyClass {
}
Vous pouvez déclarer les extensions scope, par exemple
fileprivate extension MyClass {
var someThing: String { // This computed property is fileprivate
return "ABC"
}
func doSomething() { // This func is fileprivate
}
}
public extension MyClass {
var someOtherThing: String { // This computed property is public
return "123"
}
func doSomethingElse() { // This func is public
}
}
Cependant, vous ne pouvez déclarer des propriétés stockées dans votre définition de la classe, donc ce ne travail ...
private extension MyClass {
let myName = "Fred"
}
Dans ce cas, vous devez appliquer le mot-clé portée à la propriété elle-même ...
class MyClass {
private let myName = "Fred"
}
Juste une note, les extensions privées peuvent contenir des propriétés privées statiques qui peuvent être utilisées dans le corps de l'extension. – JAL
Ce mot-clé 'fileprivate' est disponible dans swift 2.3? Ou commence à partir de 3.0 rapide. – Exploring
'fileprivate' est disponible depuis Swift 3.0 –
Vous devez le faire sur tous les objets. Je ne pense pas qu'il y ait un autre moyen. – gasho