En el siguiente código:¿"LValue" no significa lo que creo que significa?
_imageView.hasHorizontalScroller = YES;
_imageView.hasVerticalScroller = YES;
_imageView.autohidesScrollers = YES;
NSLog(@"scrollbar? H %p V %p hide %p",
&(_imageView.hasHorizontalScroller),
&(_imageView.hasVerticalScroller),
&(_imageView.autohidesScrollers));
estoy recibiendo el error:
Controller.m:143: error: lvalue required as unary '&' operand
Controller.m:144: error: lvalue required as unary '&' operand
Controller.m:145: error: lvalue required as unary '&' operand
en cuenta que estoy usando esas variables como lvalues directamente ante los & líneas ...
Cómo ¿Puede quejarse de que un valor no es un valor justo después de asignarlo sin error? ¿Tiene esto que ver con los getters/setters mágicos que crea el objetivo C?
Creo que necesito para explicar un poco de contexto para explicar por qué estoy tratando de obtener la dirección:
en mi post anterior es así, me mostró el mismo código, impresión% d y encontrar que después de las asignaciones, las propiedades seguían siendo 0 por alguna razón. Por lo tanto, pensé que trataría de obtener las direcciones de las propiedades para ver dónde están siendo almacenadas y quizás pueda descubrir por qué no las estoy asignando con éxito, y luego sucedió.
Creo que como la gente ha mencionado, sí, es probable que cuando hago la asignación obj-c secretamente reemplaza eso con una llamada al colocador (y luego otra magia porque en otra publicación SO, alguien más mencionó que
BOOL b = [_imageView setHasVerticleScroller: YES]
falla, pero
BOOL b = _imageView.hasVerticalScroller = YES;
funciona bien.
Sólo por curiosidad, pero ¿por qué se desea imprimir la dirección de memoria? – swegi
Estoy tratando de averiguar por qué los valores son todos 0 después de las asignaciones, y esperaba que saber DONDE estaban ayudaría ... –