Greg, for this project I'm using Xcode 3.2.6, the xib was set to 'default - 10.4'.
There were two issues, both my fault. 1) I had left a stub @implementation of NSTreeNode in the link list. I had created the header so I could use that class even though it wasn't public in Tiger. I found it because Leopard (sporadically) reports the error at launch in the log. Fixing #1 got me to the next issue. 2) My subclass of NSWindowController was calling [super awakeFromNib], without first checking that 'super' handled it. Didn't cause a problem with 10.4, 10.6, or 10.7, but 10.5 threw an 'unrecognized selector' exception. On Nov 3, 2011, at 12:09 AM, Quincey Morris wrote: > On Nov 2, 2011, at 18:42 , Eric Slosser wrote: > >> I've created a modal dialog that uses an NSTreeController as part of a >> master-detail style interface to a hierarchical storage model. Using >> bindings (not delegate methods) to supply the data. Using 10.4 as the base >> SDK. XIB attached. >> >> Works fine on Lion and Snow Leopard. It's a little odd on Tiger (throws >> exceptions but eventually presents the info). >> >> But on Leopard (10.5.8), I get the following exception and stack when I try >> to bring up the modal. >> >> Why would NSTreeController be asking a NSTreeControllerTreeNode (which it >> created, not me) to do an unrecognized selector? I'd think that family of >> objects would be self-consistent on a given install. >> >> I'm stumped, and so is my google-fu. >> >> Does anyone have a pearl they can cast? >> >> >> 2011-11-02 16:46:52.890 Kurzweil 3000[343:813] *** >> -[NSTreeControllerTreeNode initWithRepresentedObject:]: unrecognized >> selector sent to instance 0x541990 >> >> #0 0x94e674c0 in objc_exception_throw () >> #1 0x92d58eb8 in -[NSObject doesNotRecognizeSelector:] () >> #2 0x92d574b4 in ___forwarding___ () >> #3 0x92d57748 in __forwarding_prep_0___ () >> #4 0x9377449c in -[NSTreeControllerTreeNode >> initWithRepresentedObject:treeController:] () >> #5 0x936de370 in -[NSTreeController createChildNodeForRepresentedObject:] () >> #6 0x936dcda0 in -[NSTreeController _prepareControllerTree] () >> #7 0x936dd2e4 in -[NSTreeController _init] () >> #8 0x93331148 in -[NSController initWithCoder:] () >> #9 0x93330ee8 in -[NSObjectController initWithCoder:] () >> #10 0x936dd4a8 in -[NSTreeController initWithCoder:] () > > This is a little odd. Possibly, the problem is simply that you forgot to set > the correct deployment version for the XIB file. (It's set on a per-file > basis, independent of the base SDK.) > > I'm wondering, though, how it's come to create nodes during the > NSTreeController unarchive. I'd expect the tree controller to have no content > until its content binding is established, which would of course happen after > the initWithCoder is finished. (It could be creating just a default root > node, I guess.) > > Another possibility is that there's a binary incompatibility across such a > large range of deployment versions. My memory of the history is hazy, but I > think NSTreeController went through a couple of major implementation revamps > since 10.4, so something might have come unstuck. > > BTW, what Xcode version are you using for this? > > _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com