On Fri, Apr 10, 2009 at 5:49 PM, Nicko van Someren <ni...@nicko.org> wrote:
> On 10 Apr 2009, at 12:46, Dave Keck wrote:
>
>> To get the path to a bundle that's loaded inside an arbitrary process,
>> I create a stub subclass of NSObject (let's call it MyStubClass) and
>> simply call [NSBundle bundleForClass: [MyStubClass class]];
>>
>> This technique is the most straightforward way I know of to accomplish
>> what you're looking for - it's never failed me. A little precaution
>> though: to avoid potential conflicts, be sure to name your stub class
>> something a little more unique than 'MyStubClass' :)
>
> Since this is being done in the context of a screen saver presumably the
> code doing this is somewhere inside the sub-class of a ScreenSaverView that
> defines the screen saver.  If this is the case you should be able to just
> use [NSBundle bundleForClass: [self class]];

Although this is probably fine in a screensaver, you should always use
an explicit class name instead of [self class]. The reason for this is
that [self class] will give you bad results if your class is
subclassed outside your bundle (which is unlikely but possible for
plugins, and pretty likely for frameworks) resulting in mysterious
failures. Use [MyClassName class] instead for assured results.

Mike
_______________________________________________

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

Reply via email to