2

我有一些与设计相关的疑问。在我的 IOS 应用程序中,如果我想从 c++ 类创建任何视图(扩展名更改为 .mm),这可能吗?

提前致谢。

4

1 回答 1

0

是的,这是可能的。我正在开发一个具有 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
于 2012-07-27T06:41:42.363 回答