Re: Basic Q: reading properties from nil
Re: Basic Q: reading properties from nil
- Subject: Re: Basic Q: reading properties from nil
- From: Nick Zitzmann <email@hidden>
- Date: Tue, 26 Oct 2010 15:31:11 -0600
On Oct 26, 2010, at 3:13 PM, Rick Mann wrote:
> Hi. I've run into a bug, and I'm wondering if I'm expecting the wrong behavior. If I do this:
>
> UIWindow* win = nil; // In reality, it's coming from somewhere else, but it's nil
> CGRect frame = win.bounds;
>
> Should I expect frame to be all zero? That's what I thought was the case, but I'm getting nonsense values that are not zero.
No. The result is only zero if the primitive/structure size is a word or smaller. If it's larger, then the results are undefined. And CGRects contain four CGFloats, and CGFloats are 32-bit floats on iOS.
So it's not a bug in the runtime. If you're running into the situation where a window can be nil, and you want to have a zeroed-out CGRect in that case, then do this:
CGRect frame = (win ? win.bounds : CGRectZero);
Nick Zitzmann
<http://www.chronosnet.com/>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden