如何在C ++中按名称检索可可枚举值?

问题描述 投票:0回答:1

我正在使用objc/objc-runtime.h作为纯C ++编写MacOS窗口应用程序。我可以打开并显示一个NSWindow,但是在调用initWithContentRect:styleMask:backing:defer:方法时,我不得不基于styleMask手动输入枚举值backingint作为documentation

这显然不是理想的,即使枚举值不会更改(会吗?),因为每次我想更改该值时都必须查阅文档。有没有办法使用objc运行时库从NSWindowStyleMask中检索枚举值?还是我可以包含一个普通的C标头,其中包含这些定义?

替代方法是自己定义枚举,但我不想这样做

感谢B)

c++ objective-c cocoa objective-c-runtime
1个回答
0
投票

可能需要帮助,它不是完全“纯”的C ++:

  1. 写一个扩展名为.mm的C ++文件,它是Objective-C ++。这将编译允许使用Objective-C构造的C ++,从而允许...
  2. #include <Cocoa.Cocoa.h>获取所需的枚举
  3. 使用Clang编译

如果您尝试在Cocoa.h文件中包含.cpp,您可能会发现错误。

您当然可以使用.mm中的.cpp中定义的C ++函数/类等,它 C ++。

HTH

© www.soinside.com 2019 - 2024. All rights reserved.