Ich versuche zu überprüfen, ob eine CGRect
ist null
in meiner Eigenschaft Getter und wenn ja, einen Wert laden standardmäßig, aber in meiner init-Methode, wenn ich die Eigenschaft verwenden, gibt es Null zurück für alle Werte.Überprüfen Sie, ob CGRect Null in Getter
Hier ist mein Getter:
- (CGRect)frame
{
if(CGRectIsNull(_frame))
_frame = CGRectMake(0,0,60,60);
return _frame;
}
- (id)init
{
self = [super initWithFrame:self.frame];
if(self)
{
//do something
}
return self;
}
Ich bin nicht sicher, was los ist und wo. Jede Hilfe wird sehr geschätzt.
'CGRectIsEmpty' ist der bessere Weg, hier zu gehen, aber ich denke, es ist Erwähnenswert ist, dass Sie auch 'CGRectEqualToRect' verwenden und mit' CGRectZero' vergleichen können. –
Wahr, aber 'CGRectIsEmpty (_frame)' ist kürzer als 'CGRectEqualToRect (_frame, CGRectZero)'. – rmaddy
Es ist, und CGRectisEmpty wäre auch meine Vorliebe, nur darauf hinweisend :) –