10
votes

Est-ce que "retour ..." déclaration fait une "pause"; discutable?

Je suis venu à Objective-C à partir d'un fond vb.net où l'instruction Switch est Sélectionnez case et non casse est nécessaire ( ou possible).

Je sais que la règle générale consiste à placer une instruction à la fin de chaque case case instruction de sorte que l'exécution ne "tombe pas" au prochain cas instruction.

Lorsque vous écrivez des applications iOS, j'ai souvent commutateur dans mon -TableView: HauteurFroworTindexpath: Méthodes. Fondamentalement, je laisse souvent mes cellules signaler la hauteur nécessaire, donc je me retrouve avec commutateur comme suit: xxx

j'ai vu Cette réponse , ce qui a du sens pour moi et c'est Ce que je m'attends à ce que je m'attends à ce que la réponse soit, mais cette question est spécifiquement sur Java, et je voulais voir si la même réponse est vraie pour l'objectif-c.

J'ai aussi trouvé , qui concerne C, que je suppose est la bonne réponse à l'objectif C, aussi bien.

Donc, est un Retour instruction d'un break spécialisé Déclaration?


0 commentaires

3 Réponses :


18
votes

Aucun déclaration de retour n'est pas une pause spécialisée. Return vous fait que vous quittez la fonction de fonction vous entraîne de quitter la déclaration de commutation. Vous n'avez pas besoin de la pause si vous avez le retour, mais ce sont des choses différentes.


1 commentaires

Je reçois ton point, mais il me semble que c'est est une pause spécialisée en ce sens qu'elle fait tout une pause, puis certains. Ma question principale concerne le "tout une pause fait", donc je ne veux donc pas voler sur la sémantique de la "puis de certains". Merci de répondre!



2
votes

Il n'y a pas de magie derrière la scène. La seule grande différence ici est qu'avec la pause, vous ne laissez que le commutateur avec renvoyer la fonction. Ainsi, les conséquences sont évidentes. Si vous avez de retour, vous n'avez pas besoin de pause car la pause ne sera jamais atteinte. Certains IDE vont-ils griser pour vous indiquer que ce n'est pas un fragment de code accessible.


0 commentaires

1
votes

lire vos idées sur commutateur et retour , oui, une instruction retour peut être considérée comme une pause spécialisée > Déclaration.

a pause est juste une abstraction de table de branche, de sorte que retour est , donc à la fin de la journée, ils exécuteront simplement une instruction de saut.


0 commentaires