私はいくつかのデザイン関連の疑問を持っています。IOS アプリケーションで、C++ クラス (拡張子を .mm に変更) から任意のビューを作成したい場合、それは可能ですか?
前もって感謝します。
私はいくつかのデザイン関連の疑問を持っています。IOS アプリケーションで、C++ クラス (拡張子を .mm に変更) から任意のビューを作成したい場合、それは可能ですか?
前もって感謝します。
はい、可能です。30個の.mmファイルがあり、.mファイルがないOSXアプリを開発しています。ただし、.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;
}
};
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