• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Another Bindings problem - sorry!
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Another Bindings problem - sorry!


  • Subject: Re: Another Bindings problem - sorry!
  • From: Mike Abdullah <email@hidden>
  • Date: Tue, 7 Mar 2006 19:44:33 +0000

I've been pondering this throughout the day, and I think you're right.

I think what I need to do is make MyMiniObject the controller and owner of the nib. In the nib, I need to move the data part of MyMiniObject to its own separate class there. This way I can bind nicely between the data and the controls.

Thanks!
Mike.

On 7 Mar 2006, at 02:13, Miguel Sanchez wrote:

it sounds to me like you're missing the CONTROLLER part in the MODEL-VIEW-CONTROLLER paradigm (check doc on this).

You seem to be allowing your data objects to directly own the interface that displays them. The right approach for this is to have a controller object (nothing related to bindings controllers) that is the intermediary between the model objects (MyMinObject) and the UI. The controller would also be the file owner in you nib.

I recommend you review the Model-View-Controller docs and a bindings example that sets up master detail relationships.

- Miguel


On Mar 6, 2006, at 5:05 PM, Mike Abdullah wrote:

Hey, I'm really sorry, but I have another bindings problem. My app has a slightly odd structure:

The document, has a MyMainObject instance in it.
An NSObjectController uses MyMainObject as it's content.

MyObject has an NSArray of the type MyMiniObject as one of its keys
This is managed by an NSArrayController

So, my app quite happily creates and destroys MyMiniObjects in response to buttons in the interface.

However, I have now added a nib file to the project that is owned by MyMiniObject. So every time MyMiniObject is initialized it loads this nib and displays the view from the nib. When deallocing, MyMiniObject releases the view

Now this view contains a text field. I want to bind the value of this text field to a key of MyMiniObject. I have tried doing this by both binding directly to the File's Owner, and by creating an NSObjectController in the nib.

This binding works great until the NSArrayController attempts to release MyMiniObject. MyMiniObject will no longer deallocate because it is being retained by the text field binding. And so, dealloc of MyMiniObject is never called, and so none of the related items are released either!

Does anyone know how to implement this sort of relationship? At the moment the best I can think of is to override release of MyMiniObject. When release is called, I'd check to see what the retain count is, and if it's only 1, I release the binding, thereby deallocing MyMiniObject.

However, to me this seems a bit of an ugly workaround. Is it the only option?

Mike A.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


_______________________________________________ Do not post admin requests to the list. They will be ignored. Cocoa-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >Another Bindings problem - sorry! (From: Mike Abdullah <email@hidden>)
 >Re: Another Bindings problem - sorry! (From: Miguel Sanchez <email@hidden>)

  • Prev by Date: Re: Copying a view from one nib to another
  • Next by Date: NewMovieFromProperties will not work with image file
  • Previous by thread: Re: Another Bindings problem - sorry!
  • Next by thread: quit on restart even with sheet?
  • Index(es):
    • Date
    • Thread