Posts

Showing posts with the label Cgrectmake

Check If CGRect Null In Getter

Answer : When you create an instance of your class, the _frame instance variable is automatically initialized, even before the init method is called. Since _frame is a C-struct ( CGRect ), its memory is cleared to all zeroes. This results in a CGRect with all zero values. CGRectNull is a special, non-zero CGRect . So your check using CGRectIsNull() will never be true. Using CGRectIsEmpty is a more proper check for this. Try - (CGRect)frame { if (CGRectIsEmpty(_frame)) _frame = CGRectMake(0,0,60,60); return _frame; } Here is an updated answer for Swift 4. You are able to simply use CGRect's isNull boolean property to check for CGRectNull now: let someRect = CGRect.null print(someRect.isNull) // true