Creo que los valores predeterminados son (atomic, assign)
, sin embargo, no debe dejarlos vacíos.
El valor predeterminado puede cambiar en cualquier punto, y está escribiendo código que se basa en la definición de la propiedad.
Por ejemplo, si confía en el valor predeterminado assign
y cambia a retain
por cualquier motivo en el futuro, entonces todo su código va a tener fugas.
Por el contrario, si el valor predeterminado es retener y usted confía en eso y cambia para asignarlo, su código se bloqueará cuando inevitablemente se libere un objeto.
No confíe en ningún valor predeterminado, independientemente de cuáles sean.
Defina explícitamente los atributos de sus propiedades.
Cuidado: el valor predeterminado con ARC ha cambiado a "fuerte". Ver [aquí] (http://stackoverflow.com/questions/9773604/property-definitions-with-arc-is-strong-default-now). – Ant
Precisamente lo que dije en mi respuesta: los valores predeterminados pueden cambiar. No confíes en ellos. Se específico. – Jasarien
Desafortunadamente, los encabezados de Apple * muy * frecuentemente usan los valores predeterminados, por lo que es bastante útil saber cuáles son. Vea CAShapeLayer.h para un buen ejemplo. – SG1