0

在具有 Objective C++ 文件的 C++ 类中使用 Objective C 对象是否有任何缺点(性能或其他方面)?例如,直接使用 NSString 等 Objective C 类型的区别如下:

class Hello {
private:
    NSString *text;

public:
    Hello() { this->text = @"Hello, world!";
    ~Hello();
    NSString* helloWorld() { return this->text; }
};

与使用标准 lib C++ 字符串并随后将它们包装到 NSStrings 相比。直接使用Objective C“类型”有什么不好的原因吗?我听说人们建议将 Objective C 和 C++ 尽可能分开,我想听听这背后的原因。无论哪种方式,我都会将 C++ 类隐藏在 Objective C 接口后面,而不管从.m文件中调用它。

4

1 回答 1

0

我认为性能没有任何问题,但是我不清楚为什么要将 Objective-C 对象封装在 C++ 对象中。

将 C++ 保留为纯 C++ 的一个原因是它可以与其他 C++ 对象交互,一旦包含了 Objective-C 对象,这将不再可能。

为了允许具有嵌入式Objective-C对象的C++对象被另一个C++类使用(它需要“查看”头文件)我猜你必须使用void *或其他东西。

于 2013-10-20T20:32:41.847 回答