Accessing a property of a view via its controller doesn't work
Accessing a property of a view via its controller doesn't work
- Subject: Accessing a property of a view via its controller doesn't work
- From: Gabriel Zachmann via Cocoa-dev <email@hidden>
- Date: Sat, 4 Sep 2021 19:26:48 +0200
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.
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
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