我有一些与设计相关的疑问。在我的 IOS 应用程序中,如果我想从 c++ 类创建任何视图(扩展名更改为 .mm),这可能吗?
提前致谢。
是的,这是可能的。我正在开发一个具有 30 个 .mm 文件且没有 .m 文件的 OS X 应用程序。但是 .mm 文件是 Objective-C++,而不是 C++ (.cpp)。
cppclass.h
下面是在 Objective-C++ 类(在 中定义/声明)中使用 C++ 类(在 中定义)的示例mmclass.{h,mm}
:
cppclass.h:
#include <string>
class MyCppClass
{
protected:
std::string _name;
public:
MyCppClass() :
_name()
{
}
void setName(const std::string &name)
{
_name = name;
}
};
毫米类.h:
#import <Foundation/Foundation.h>
#import "cppclass.h"
@interface MyMMClass : NSObject
{
MyCppClass _myCppClass;
}
@end
毫米类.mm:
#import "mmclass.h"
@implementation MyMMClass
- (id)init
{
self = [super init];
if (self != nil)
{
_myCppClass.setName("Andy");
}
return self;
}
@end