2012-03-19 8 views
40

Simplemente ejecutando la herramienta de refactorización ARC en el nuevo xcode 4.3.1 y noté que mis propiedades (no atómicas, retener) se están intercambiando solo por (no atómicas) en lugar de (no atómicas, fuertes) como en el xcode anterior.@property definiciones con ARC: ¿Es fuerte por defecto ahora?

Parece que mi código funciona bien después de este cambio, por lo tanto, estoy asumiendo que de todos modos está predeterminado a ser fuerte, ¿alguien sabe por qué las cosas han cambiado con el convertidor ARC?

Respuesta

55

Sí, strong es el valor predeterminado en Xcode 4.3 y posterior. Está documentado tanto en el LLVM docs como en las guías de Apple a using properties y working with ARC.

+4

Un ingeniero de Apple me confirmó esto en una ETI. Esto fue cambiado por consistencia dentro de ARC. Tanto las advertencias como la documentación son incorrectas y serán corregidas. – nschum

+1

http://clang.llvm.org/docs/AutomaticReferenceCounting.html#ownership.spelling.property ahora documenta este cambio. – nschum

+0

La URL de nschum ya no lo lleva a la sección correcta, pero edité la URL de documentación correcta en la respuesta. – JosephH

0

Cuando la propiedad es un tipo básico, el valor predeterminado es asignar, cuando la propiedad es un tipo de objeto, el valor predeterminado es fuerte

Cuestiones relacionadas