• 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: Help Mixing Objective-C & Objective-C++
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

  • Follow-Ups:
    • Re: Help Mixing Objective-C & Objective-C++
      • From: Andreas Grosam <email@hidden>
References: 
 >Help Mixing Objective-C & Objective-C++ (From: James Bucanek <email@hidden>)

  • Prev by Date: Re: Fast way to grab the screen
  • Next by Date: Re: IBOutlet to different classes, conditional build
  • Previous by thread: Re: Help Mixing Objective-C & Objective-C++
  • Next by thread: Re: Help Mixing Objective-C & Objective-C++
  • Index(es):
    • Date
    • Thread