Re: Accessing a property of a view via its controller doesn't work
Re: Accessing a property of a view via its controller doesn't work
- Subject: Re: Accessing a property of a view via its controller doesn't work
- From: Alex Zavatone via Cocoa-dev <email@hidden>
- Date: Sat, 4 Sep 2021 12:46:58 -0500
I don’t know why this is happening, but I’ll often populate a variable if I
know it from another class and can’t find it from another. By that, I mean if
you know the window in the class that opens the preferences, get it and set it
in the MasterViewController.
> On Sep 4, 2021, at 12:26 PM, Gabriel Zachmann via Cocoa-dev
> <email@hidden> wrote:
>
> I access the window of a view by two different ways, in the controller and in
> the view, resp., and in the controller, I always get a nil pointer.
>
>
> In my app, I have a subclass of NSView, MyView, declared like this:
>
> @interface MyView : NSView <NSTextViewDelegate, CALayerDelegate,
> CAAnimationDelegate>
> {
> NSWindow * window_;
> ...
> }
> @property (readwrite) NSWindow * window_;
>
>
> In one of MyView's instance methods, I save the window like this:
>
> - (void) viewWillMoveToWindow: (NSWindow *) newWindow
> {
> window_ = newWindow;
> ...
>
>
> Also in MyView, I have this line to interrogate the styleMask at some point
> later during runtime:
>
> if ( [window_ styleMask] & NSWindowStyleMaskFullScreen )
> ...
>
> This works fine, window_ has a proper value (as a pointer), and styleMask
> returns values as expected.
>
>
> However, I have pretty much the same line in my MasterViewController, which
> does not work.
>
>
> In the MasterViewController, I create an instance of MyView like this:
>
> - (void) viewDidLoad
> {
> [super viewDidLoad];
> myview_ = [[MyView alloc] initWithFrame: self.view.frame isPreview: NO ];
> [self.view addSubview: myview_];
> ...
>
>
> Then, in MasterViewController's showPreferences:, I have this code:
>
> - (IBAction) showPreferences: (id) sender
> {
> if ( [myview_.window_ styleMask] & NSWindowStyleMaskFullScreen )
> ...
>
>
> Here, myview_.window_ is always 0.
>
>
> How could that be?
>
> Puzzled, Gabriel.
>
>
> _______________________________________________
>
> 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
_______________________________________________
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