在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我想在XCode上调用C++的代码,我这这里小结一下我的方法,Hello类只是为Objective-C调用C++做的一个封装。 但是我感觉这样太不方便了,如果C++的代码很多的时候,这样做就很不好,期待有人给出好的解决方案,文章最后有这个Demo的源代码。 写讲解一下这个Demo的内容 #import <Foundation/Foundation.h> @interface Hello : NSObject{ class NewHello{ private:int greeting_text; public: NewHello(){ greeting_text=5; } void say_hello(){ printf("Greeting_Text = %d",greeting_text); } }; NewHello *hello; } -(void)sayHellooooo; @end 5,在Hello.mm文件中实现sayHellooooo方法,在这个方法中调用C++类 #import "Hello.h" @implementation Hello -(void)sayHellooooo{ hello = new NewHello(); hello->say_hello(); } @end 6,最关键的地方,在需要调用C++类的地方,使用@class Hello,而不是#import 或者#include #import <UIKit/UIKit.h> //#include "Hello.h" @class Hello; @interface ViewController : UIViewController{ } -(void)aaaa; @end 7,实现调用C++类中的方法 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; NSLog(@"dddddddd"); Hello *aa = [[Hello alloc]init]; [aa sayHellooooo]; // Do any additional setup after loading the view, typically from a nib. } - (void)viewDidUnload { [super viewDidUnload]; // Release any retained subviews of the main view. } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); } -(void)aaaa{} @end 8,源代码:Objective-C调用C++ 博客园规定文件名不能有加号 |
请发表评论