• 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
Bundle loading hooks?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bundle loading hooks?


  • Subject: Bundle loading hooks?
  • From: Ronald Oussoren <email@hidden>
  • Date: Fri, 29 Aug 2003 17:08:47 +0200

Hi,

I'm one of the authors of PyObjC, which is a Python extension module that allows you to write Cocoa classes in Objective-C. This works pretty well for normal code, but we ran into a problem w.r.t. dynamicly loaded bundles (plugins) and the NSBundle methods 'classNamed:' and 'bundleForClass:'.

When you define a subclass of an Objective-C class in Python, the PyObjC module automaticly creates a Objective-C class for you and registers that with the runtime. That is, it creates the right C datastructures and tells the runtime about these using objc_addClass and the like. As mentioned before, this works just fine, these classes can be used in NIB files and the classes are found using NSClassFromString.

However, if you start querying with the NSBundle +bundleForClass:, all classes defined in Python seem to be defined in the main bundle even if they are actually defined in another (plug-in) bundle. Simularly, NSBundle -classNamed: will only find the class if you use the mainBundle. This is a problem for us, because this means Interface Builder cannot find the classes in a palette that has been defined in Python.

Does anyone know a documented way to get the administration right? I got the IB palette working with a dirty hack: when the python plugin it loaded it looks for the NSBundle that is associated with its bundle and changes the 'isa' pointer of that NSBundle instance to a subclass of NSBundle that overrides classNamed. That doesn't look like the proper solution to me :-)

Ronald
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Prev by Date: Re: another simple C question please...
  • Next by Date: RE: return two values at once from C function?
  • Previous by thread: Re: another simple C question please...
  • Next by thread: RE: return two values at once from C function?
  • Index(es):
    • Date
    • Thread