web-dev-qa-db-fra.com

CGRectZero vs CGRect.zeroRect?

Les deux semblent fonctionner de la même manière dans Swift. Que devrions-nous utiliser?

  1. CGRectZero vs CGRect.zeroRect
  2. GRectMake(1, 1, 1, 1) vs CGRect(x: 1, y: 1, width: 1, height: 1)UIEdgeInsetsMake(1, 1, 1, 1) vs UIEdgeInsets(top: 1, left: 1, bottom: 1, right: 1)
  3. Autres motifs
27
ma11hew28

MISE À JOUR2

En Swift 3, CGRectZero n'est plus disponible. CGRect.zero Est votre seul choix. Apprenez-le, sachez-le, vivez-le. =

MISE À JOUR

CGRect.zeroRect A été renommé CGRect.zero Dans iOS 9.0. C'est assez proche de CGRectZero (et du même nombre de touches, en comptant shift comme une frappe) que je recommanderais CGRect.zero à toute personne qui n'est pas un codeur Objective-C dans l'habitude d'utiliser CGRectZero.

ORIGINAL

Il n'y a aucune raison particulière de favoriser l'un ou l'autre. Vous devez utiliser le style que vous ou votre équipe préférez.

Personnellement, j'utiliserais CGRectZero car il est plus court et j'y suis habitué depuis Objective-C.

J'irais avec CGRectMake pour la même raison.

J'utiliserais probablement UIEdgeInsets(top:left:bottom:right:) parce que je vois rarement des instances de UIEdgeInsets, donc je suis moins susceptible de me rappeler l'ordre des arguments dans UIEdgeInsetsMake. (Vous obtenez des espaces réservés pour cela lorsque vous tapez un appel à UIEdgeInsetsMake, mais lorsque vous lisez le code existant, il n'y a aucune indication sur l'ordre des arguments.)

72
rob mayoff