是否可以对C ++类执行任何GUI操作

时间:2012-07-27 06:33:57

标签: iphone objective-c ios xcode

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

提前感谢。

1 个答案:

答案 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