Re: Accessing a property of a view via its controller doesn't work

2021-09-04 Thread Keary Suska via Cocoa-dev
Perhaps a more germane question might be, are you sure that the view controller 
has a relationship with any window? It is not necessary, as I understand, for a 
view to exist in a window. A view controller can load a view without placing it 
into a window, and therefore viewWillMoveToWindow: will not be called, and I 
suspect the “window” property would be set. Breakpoints are your friend.

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"

> On Sep 4, 2021, at 12:06 PM, Ben Kennedy via Cocoa-dev 
>  wrote:
> 
> 
>> On Sep 4, 2021, at 10:27 AM, Gabriel Zachmann via Cocoa-dev 
>>  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 > CAAnimationDelegate>
>> {
>>   NSWindow * window_;
>>   ...
>> }
>> @property (readwrite) NSWindow * window_;
> 
> What’s the purpose of this? NSView already has a `window` property that 
> returns its parent window. Why not just use that?
> 
> -ben
> 
> Sent from my iPhone
> ___
> 
> 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/cocoa-dev%40esoteritech.com
> 
> This email sent to cocoa-...@esoteritech.com

___

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


Re: Accessing a property of a view via its controller doesn't work

2021-09-04 Thread Greg Weston via Cocoa-dev
> 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.

Have you verified that the view you’re accessing in the controller is the same 
instance as the one that works?
___

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


Re: Accessing a property of a view via its controller doesn't work

2021-09-04 Thread Ben Kennedy via Cocoa-dev

> On Sep 4, 2021, at 10:27 AM, Gabriel Zachmann via Cocoa-dev 
>  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  CAAnimationDelegate>
> {
>NSWindow * window_;
>...
> }
> @property (readwrite) NSWindow * window_;

What’s the purpose of this? NSView already has a `window` property that returns 
its parent window. Why not just use that?

-ben

Sent from my iPhone
___

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


Re: Accessing a property of a view via its controller doesn't work

2021-09-04 Thread Alex Zavatone via Cocoa-dev
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 
>  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  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 (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/zav%40mac.com
> 
> This email sent to z...@mac.com

___

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


Accessing a property of a view via its controller doesn't work

2021-09-04 Thread Gabriel Zachmann via Cocoa-dev
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 
{
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.




smime.p7s
Description: S/MIME cryptographic signature
___

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