我有一些与设计有关的疑问。在我的IOS应用程序中,如果我想从c ++类创建任何视图(扩展名更改为.mm)是否可能?
提前感谢。
答案 0 :(得分:0)
是的,这是可能的。我正在开发一个OS X应用程序,它有30个.mm文件,没有.m文件。但是.mm文件是Objective-C ++,而不是C ++(。cpp)。
这是在Objective-C ++类(在cppclass.h
中定义/声明)中使用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;
}
};
mmclass.h:
#import <Foundation/Foundation.h>
#import "cppclass.h"
@interface MyMMClass : NSObject
{
MyCppClass _myCppClass;
}
@end
mmclass.mm:
#import "mmclass.h"
@implementation MyMMClass
- (id)init
{
self = [super init];
if (self != nil)
{
_myCppClass.setName("Andy");
}
return self;
}
@end