Re: Help Mixing Objective-C & Objective-C++
Re: Help Mixing Objective-C & Objective-C++
- Subject: Re: Help Mixing Objective-C & Objective-C++
- From: Lee Ann Rucker <email@hidden>
- Date: Wed, 23 Feb 2011 16:18:24 -0800
- Acceptlanguage: en-US
- Thread-topic: Help Mixing Objective-C & Objective-C++
On Feb 23, 2011, at 10:47 AM, James Bucanek wrote:
> Greetings,
>
> I searched the list, and Apple's documentation, and couldn't
> find an answer to this (simple) question.
>
> I have a couple of large Cocoa projects that suddenly need to
> use some C++ libraries (3D graphics stuff). I assume that I can
> simply start creating Objective-C++ classes to contain this
> code, but I'm wondering how to cleanly integrate the new
> Objective-C++ classes with the existing Objective-C classes.
> Naturally, I need to send messages from my Objective-C classes
> to my Objective-C++ classes, and vice versa.
>
> Specifically, I create an Objective-C++ class that contain C++
> object references and types in its @interface declaration. How
> can I #import this into an Objective-C module? The Objective-C
> won't understand any of the C++ class names or types.
You can't, but you can declare protocols for your ObjC++ classes in separate headers then have the ObjC classes interact with "NSObject<Foo>" instead of Foo objects directly.
FooProtocol.h
@protocol Foo
// methods the pure ObjC classes need to see
@end
Foo.h
#import "FooProtocol.h"
@interface Foo : NSObject <Foo>
...
Foo.mm
#import "Foo.h"
// do C++ things here
Bar.m
#import "FooProtocol.h"
// do things with NSObject<Foo>
_______________________________________________
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