properties - property doesn't set after lazy initialization objective-c -
i have bool property , @ start property equals no. want set property yes start of program, opportunity toggle it. this, made getter:
-(bool)turn { if(!_turn) _turn = yes; return _turn; }
this getter set turn property yes, makes "constant", yes. why?
i thought
if(!_turn)
construction specially reason want set "not set yet" object value
can answer me why so? , how can set property value want. thanks.
look @ action table:
turn: false true !turn turn = yes nothing
when _turn
false, flip true. when _turn
true, nothing (there's no else statement). return value of _turn
. yea, returning true in cases.
to honest, design not good. if want set initial value of variable value, in init
method. provide method toggles value:
-(bool) toggleturn { _turn = !_turn; return _turn; }
Comments
Post a Comment