iphone ios automatic-ref-counting

iphone - Error de ARC al declarar delegado ivar



ios automatic-ref-counting (3)

Estoy usando ARC (no, esto no es NDA). Estoy declarando mi ivar en mi interfaz con

id itemDelegate;

Entonces declaro la propiedad:

@property (nonatomic, weak) id<mySecretDelegateYouAreNotSupposedToSeeOnSO> itemDelegate; (con débil en lugar de asignar debido a ARC)

En mi archivo de implementación simplemente lo sintetizo: @synthesize itemDelegate;

Sin embargo, estoy recibiendo el error:

"Existing ivar ''ItemDelegate'' for _weak property ''itemDelegate'' must be _weak".

Alguien sabe lo que está mal? Gracias por tu ayuda.

ARC - Conteo automático de referencias


Con ARC y iPhone Simulator 5.0, lo siguiente parece funcionar bien (no hay advertencias, etc.):

SomeObject.h

@class SomeObject; @protocol SomeObjectDelegate <NSObject> - (void)someObjectDidFinishDoingSomethingUseful:(SomeObject *)object; @end @interface SomeObject : NSObject { __unsafe_unretained id <SomeObjectDelegate> _delegate; } @property (nonatomic, assign) id <SomeObjectDelegate> delegate; @end

SomeObject.m

#import "SomeObject.h" @implementation SomeObject @synthesize delegate = _delegate; @end


Existe un problema en el que, incluso si actualiza XCode (4.2+) desde Mac App Store, como Apple lo requiere, deja la versión anterior de XCode en su computadora. Por lo tanto, si tiene un XCode fijado en su launchpad y lo inicia, obtendrá todos estos errores como se indica a continuación. Debe encontrar la versión más reciente de XCode, por ejemplo, al usar la función Spotlight, ejecutarla y, luego, como una de sus primeras tareas, elimina la versión anterior de XCode. Entonces no tienes más errores reportando de esta manera.