swift - unavailable - CGRectZero vs CGRect.zeroRect?
cgsize (1)
ACTUALIZACIÓN 2
En Swift 3, CGRectZero
ya no está disponible. CGRect.zero
es tu única opción. Aprenderlo, saberlo, vivirlo.
ACTUALIZAR
CGRect.zeroRect
se renombró a CGRect.zero
en iOS 9.0. Eso es lo suficientemente cerca de CGRectZero
(y el mismo número de teclas, contando el desplazamiento como una pulsación de tecla) que recomendaría CGRect.zero
a cualquiera que no sea un codificador de Objective-C con el hábito de usar CGRectZero
.
ORIGINAL
No hay una razón en particular para favorecer a uno u otro. Debe usar el estilo que prefiera usted o su equipo.
Personalmente, usaría CGRectZero
porque es más corto y estoy acostumbrado a él desde Objective-C.
Me gustaría ir con CGRectMake
por la misma razón.
Probablemente usaría UIEdgeInsets(top:left:bottom:right:)
porque rara vez veo instancias de UIEdgeInsets
, por lo que es menos probable que recuerde el orden de los argumentos en UIEdgeInsetsMake
. ( UIEdgeInsetsMake
marcadores de posición cuando UIEdgeInsetsMake
una llamada a UIEdgeInsetsMake
, pero cuando estás leyendo el código existente no hay pistas sobre el orden de los argumentos).
Ambos parecen funcionar igual en Swift. ¿Qué deberíamos usar?
-
CGRectZero
vsCGRect.zeroRect
-
GRectMake(1, 1, 1, 1)
vsCGRect(x: 1, y: 1, width: 1, height: 1)
UIEdgeInsetsMake(1, 1, 1, 1)
vsUIEdgeInsets(top: 1, left: 1, bottom: 1, right: 1)
- Otros patrones