objective c - tutorial - La propiedad requiere un método para ser definido
objective c vs swift (1)
¿Esta propiedad está en una subclase NSManagedObject
? NSManagedObject
desactiva la auto-síntesis precisamente porque se espera que la mayoría de las propiedades declaradas sean @dynamic
.
Esto se logra con la macro NS_REQUIRES_PROPERTY_DEFINITIONS
colocada justo antes de @interface NSManagedObject
, que se expande a __attribute__((objc_requires_property_definitions))
. Esto también se podría usar en otras clases, pero NSManagedObject
es la única clase de framework que conozco que hace esto.
Estaba convirtiendo un código de no ARC a ARC y eliminando algunas llamadas @synthesize innecesarias. Una clase específica comenzó a emitir advertencias para algunas propiedades:
Class.h
@property (strong, nonatomic) NSString *xyz;
pero cuando construyo, recibo la advertencia.
Property ''xyz'' requires method ''xyz''to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation
Pensé que al usar Xcode 4.6 y el compilador de Apple LLVM predeterminado 4.2, las @properties deberían sintetizarse automáticamente.
¿Cómo le digo al compilador que sintetice automáticamente la propiedad? ¿Tengo que usar una configuración de proyecto específica para eliminar esta advertencia?