• 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: NSWindow's setContentView
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSWindow's setContentView


  • Subject: Re: NSWindow's setContentView
  • From: Shawn Erickson <email@hidden>
  • Date: Mon, 19 Jun 2006 08:35:33 -0700


On Jun 19, 2006, at 4:02 AM, <cocoa> <cocoa> wrote:

Shawn Erickson <email@hidden> wrote :

On Jun 18, 2006, at 8:02 PM, Drarok Ithaqua wrote:

&gt; For sake of simplicity, let's assume I want to swap the contents of
&gt; two windows, mainWindow and playlistWindow.

From the Apple docs:
The receiver retains the new content view and owns it thereafter. aView is resized to fit precisely within the content area of the NSWindow object. You can modify the content view’s coordinate system through its bounds rectangle, but can’t alter its frame rectangle (that is, its size or location) directly.


This method causes the old content view to be released; if you plan to reuse it, be sure to retain it before sending this message and to release it as appropriate when adding it to another NSWindow object or NSView.

No mention of auto-releasing there, but something strange is certainly going on.

Nothing strange is likely taking place and an autorelease is considered a release. So don't assume implementation from the documentation. Just stick to the simple Cocoa memory management rules and try not to debug things using retain counts.


The other problem is that there seems to be weirdness with the NSMovieView, as the contents of the playlistWindow appears in the mainWindow just fine, but the MovieView disappears. When I swap them back, it appears OK in the mainWindow again.
Doesn't seem to like moving between windows.

Something is likely wrong in how you are swapping things around (or a bug in the framework but those happen very seldom). I move views between windows all the time (just need to make sure you are moving the correct view... some items you drop from IB into a nib are in fact contained in a parent view... say a scroller view).


But that still doesn't resolve my retainCounts going screwy. Is there a way to fine out what objects are retaining others?

Often best to audit your code and make sure you are balancing every retain with a retain/autorelease and not releasing/autorelease anything that you didn't alloc, copy, or retain yourself.


If you are crashing because of a memory issue search for and enable NSZombie support [1, 2] also look at using ObjectAlloc [3] or OmniGroup's OmniObjectMeter [4].

-Shawn

[1] <http://developer.apple.com/technotes/tn2004/tn2124.html>
[2] <http://www.cocoadev.com/index.pl?DebuggingAutorelease>
[3] <http://developer.apple.com/documentation/Performance/Conceptual/ ManagingMemory/Articles/FindingPatterns.html#//apple_ref/doc/uid/ 20001882-97995-TPXREF162>
[4] <http://www.omnigroup.com/developer/omniobjectmeter/> _______________________________________________
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
  • Follow-Ups:
    • Re: NSWindow's setContentView
      • From: Drarok Ithaqua <email@hidden>
  • Prev by Date: Re: Problem in simulating the events
  • Next by Date: Re: Problem in simulating the events
  • Previous by thread: Re: NSTableView controlTextDidChange:
  • Next by thread: Re: NSWindow's setContentView
  • Index(es):
    • Date
    • Thread