Réduire le nombre de parenthèses dans Swift
Personne ne sait si il existe un moyen d'utiliser une sorte d'abréviation de swift? plus précisément, en laissant de côté les accolades dans les choses comme SI les déclarations... par exemple
if num == 0
// Do something
au lieu de
if num == 0
{
//Do something
}
Ces accolades devenir très consommateur d'espace lorsque vous avez un peu SI imbriquées.
PS. Je sais que je peux faire ce qui suit:
if num == 0 {
// Do something }
Mais je suis toujours curieux de savoir si ce genre de chose est possible
source d'informationauteur Byron Coetsee
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire :
Et tellement de choses intéressantes :
Cette pile suivante : http://codereview.stackexchange.com peut-être mieux pour votre question 😉
Edit : Être prudent avec l'opérateur ternaire
https://medium.com/@RobertGummesson/regarding-swift-build-time-optimizations-fc92cdd91e31#.42uncapwc
Dans swift, vous devez ajouter des accolades, même s'il y a une déclaration dans les cas suivants:
Vous ne pouvez pas laisser les accolades, comment swift si l'énoncé de travail.
Vous pouvez utiliser un raccourci si l'instruction comme vous le feriez en objective-c:
Swift mise à jour 2.0
Méthode 1:
Méthode 2: Abréviation si
Referance: Apple Docs: Opérateur Conditionnel Ternaire
et il fonctionne,
Je suis le remplaçant une chaîne json avec la chaîne vide si il est nul.
Edit: Ajout de Gerardo de la Médina suggestion...on peut toujours utiliser d'abréviation Si
Il est appelé abréviation if-else condition. Si vous êtes dans le développement d'iOS dans Swift, alors vous pouvez également manipuler les objets d'INTERFACE utilisateur comportement avec cette propriété.
Pour, par exemple, - je veux que mon bouton soit activé seulement quand il y a du texte dans le champ. En d'autres termes, doit rester désactivé lorsque le nombre de caractères dans textfield est zéro.
button.enabled = (textField.characters.count > 0) ? true : false
très simple :
dans Swift 4
Code Original est
Vous pouvez toujours mettre tout le
if
sur une seule ligne: