On 2012-09-17, at 2:17 PM, Kyle Sluder <k...@ksluder.com> wrote:

> On Mon, Sep 17, 2012, at 02:12 PM, Tim Schröder wrote:
>> Use something like this: 
>> 
>> NSRect frame = [[statusItem valueForKey:@"window"] frame];
> 
> Don't do this. -[NSStatusItem window] is private API and is not
> guaranteed to exist.
> 
> Create a view, assign it to your status item, and use that for your
> frame.
> 
> --Kyle Sluder


Is it any safer to assume a window will be returned from this code ? 

RSStatusItemViewController * _statusViewCtrl = [[RSStatusItemViewController 
alloc]init];
[self.statusItem setView:[_statusViewCtrl view]];
NSWindow * statusWindow = [[_statusViewCtrl view] window];

NSRect rect = [statusWindow frame];

I mean I assign the view through setView: - does that implicitly guarantee 
there will be a window context when I invoke  [myView window] later on?  I see 
nothing contractual.  It works, and I am glad, but I don't know if I can trust 
it.


Erik Stainsby
erik.stain...@roaringsky.ca

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to