Pregunta

Es tan simple como eso.

corriendo león.

  1. Acabo de pasar a Xcode 4.4
  2. cargó mi archivo de proyecto Xcode 4.3 más reciente
  3. comentó una línea de código @syntsize
  4. y errores abundan.: (
  5. El compilador verificado se establece en 'llvvm 4.0'.

    Entonces hice la misma prueba, pero creé un nuevo proyecto dentro de Xcode 4.4, y Voila!Auto @syntthesize funciona dentro de un proyecto 4.4.

    AUTO @SYNTESIZE también parece funcionar en las propiedades se agregaron a los códigos.Pero el viejo existente generará un error.

    ¿Alguien más experimenta esto? ¿Alguna otra cosa que deba verificar?

    Realmente quiero que las funciones de generación de automóviles funcionen.

    gracias.

¿Fue útil?

Solución

El error no es la forma en que declara la propiedad, pero de la forma en que lo usa.

Propiedades sintetizadas automáticamente Cree una tienda de respaldo con un guión guía principal de forma predeterminada .

Así que en su código cuando tiene una propiedad declarada como:

@property (nonatomic, strong) UILabel *sectorLabel;

y usted Auto-shesize: algo así es que está siendo generado automáticamente por usted por el compilador:

@synthesize sectorLabel = _sectorLabel;

Ahora puede acceder a ella a través de la propiedad:

self.sectorLabel;

O, puede acceder a la tienda de respaldo directamente con:

_sectorLabel;

Otros consejos

resolví!

Así que esto es lo que hice.

viewcontroller.h

@interface ViewController : UIViewController
// Public:

@property (nonatomic, strong) UILabel *sectorLabel;

@end

viewcontroller.m

@implementation ViewController

//@synthesize sectorLabel;

y luego este error apareció.

viewcontroller.m: 48: 2: Uso del "Identificador no declarado" SectorLabel ';hizo ¿Te refieres a '_sectorlabel'?

Se resolvió en el momento en que cambié el código a:

self.sectorLabel

xcode 4.3 compilado y funcionó bien sin la necesidad de tener el 'yo'.palabra clave.Pero Xcode 4.4 parece haberte más estricto al respecto.

El problema con la respuesta aceptada es que acaba de cambiar el comportamiento de su código agregando el self.property.

Acceso al IVAR versus la propiedad son dos cosas diferentes.La respuesta correcta sería cambiar el código para usar el IVAR correctamente agregando el subrayado.

No se trata de su estrictismo acerca de un cambio a la sintetización de la propiedad predeterminada para Xcode.Además, en la mayoría de las guías de estilo le leerá que Apple desalienta los nombres de _Ivar, así que supongo que eso salga por la ventana.

En mi código solo uso.Cuando tengo la intención de acceder a través de la propiedad Getter y Setter.No cambiando mi código existente para este comportamiento es una pérdida de tiempo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top