(iOS) 如何从 C++ 应用程序获取 UIViewController?
(iOS) How can I get the UIViewController from a C++ Application?
我需要在我的 C++ 项目中使用一个需要调用外部函数的库:
SetGameViewController(UIViewController* gameViewController)
我对 Objective C 和 iOS 的了解为零。我需要获取 UIViewController 并将其传递给该函数。
所以这段代码应该获取 UIViewController:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIViewController *rootViewController = window.rootViewController;
我还添加了这个导入:
#if defined(OS_IPHONE)
#import <UIKit/UIKit.h>
#endif
我收到如下编译器错误:
Expected unqualified-id
Unknown type name 'NSString'
我已经开始学习 Objective C 并阅读了几篇文章,但除此之外还没有深入了解。
所以基本上我的问题是我如何基本上在 C++ 代码中导入和使用 Objective C 代码,以便我可以获得和使用 UIViewController?
最简单的方法是使用扩展名“.mm”重命名您的源文件 - 然后它将被编译为 objective-c++,这意味着您在获得 c++ 的所有优点的同时仍然能够与 objective-c 个对象交互(从 NSObject 计数指向事物 'derived' 的指针)。
我需要在我的 C++ 项目中使用一个需要调用外部函数的库:
SetGameViewController(UIViewController* gameViewController)
我对 Objective C 和 iOS 的了解为零。我需要获取 UIViewController 并将其传递给该函数。
所以这段代码应该获取 UIViewController:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIViewController *rootViewController = window.rootViewController;
我还添加了这个导入:
#if defined(OS_IPHONE)
#import <UIKit/UIKit.h>
#endif
我收到如下编译器错误:
Expected unqualified-id
Unknown type name 'NSString'
我已经开始学习 Objective C 并阅读了几篇文章,但除此之外还没有深入了解。 所以基本上我的问题是我如何基本上在 C++ 代码中导入和使用 Objective C 代码,以便我可以获得和使用 UIViewController?
最简单的方法是使用扩展名“.mm”重命名您的源文件 - 然后它将被编译为 objective-c++,这意味着您在获得 c++ 的所有优点的同时仍然能够与 objective-c 个对象交互(从 NSObject 计数指向事物 'derived' 的指针)。