• 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: IB instantiating objects
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IB instantiating objects


  • Subject: Re: IB instantiating objects
  • From: Gmail <email@hidden>
  • Date: Tue, 24 Mar 2009 09:30:28 +0700

Thanks! I think that document explains everything I need to know to take control over IB.

This is more Objective-C related by maybe you have a quick tip. My first tests suggest that my method for overriding is not correct because overriding "init" is getting invoked from all sorts of other classes (like NSFileManager to name a few) when the NIB is loading. I use class_getInstanceMethod (with the instance of the custom class I registered with the objective-c runtime) to get the method then replace the implementation with my function pointer. This method worked before for overriding drawRect: in NSView so I'm not sure what is different now. Any ideas?


On Mar 24, 2009, at 8:02 AM, Jonathan Hess wrote:

Hey Josef -

When IB instantiates an object in a NIB file that has the custom class set, it will instantiate it with either init, initWithFrame:, or initWithCoder: depending on the type of object.

Here's a link tot he relevant documentation:
http://developer.apple.com/documentation/Cocoa/Conceptual/LoadingResources/CocoaNibs/CocoaNibs.html#/ /apple_ref/doc/uid/10000051i-CH4-SW19


Jon Hess


On Mar 23, 2009, at 5:36 PM, Gmail wrote:

NO, it supports subclassing. Do you know what method I could override (and return my instance) before the NIB is loaded so I can control it's isntance variables? I think maybe a low-level protocol like init could perhaps work. Thanks.

On Mar 24, 2009, at 12:15 AM, Bill Bumgarner wrote:

On Mar 22, 2009, at 6:26 PM, Gmail wrote:
Is there anyone who is aware how this was accomplished by the other bridges or if I can force IB to not instantiate the classes, or maybe replace the instance with my own? It seems like I need a way to access the instances of those classes inside the nib but I don't think that can be done. Any ideas are greatly appreciated. Thank you.

RubyCocoa and PyObjC work by creating the class before the NIB is loaded. From your description, it sounds like your bridge doesn't support subclassing. If so, that'll make your bridge considerably more difficult to integrate with Cocoa.


b.bum


Regards, Josef

_______________________________________________

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


Regards, Josef

_______________________________________________

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


  • Follow-Ups:
    • Re: IB instantiating objects
      • From: Ashley Clark <email@hidden>
References: 
 >IB instantiating objects (From: Gmail <email@hidden>)
 >Re: IB instantiating objects (From: Bill Bumgarner <email@hidden>)
 >Re: IB instantiating objects (From: Gmail <email@hidden>)
 >Re: IB instantiating objects (From: Jonathan Hess <email@hidden>)

  • Prev by Date: Re:Re: How to implement quick-playing and slow-playing of sound file?
  • Next by Date: iPhone Tab bar Question
  • Previous by thread: Re: IB instantiating objects
  • Next by thread: Re: IB instantiating objects
  • Index(es):
    • Date
    • Thread