问题标签 [objective-c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1349 浏览

c++ - Objective C++ 代码中的合成属性设置器未调用复制构造函数

我们都知道 Objective-C++ 的文档很少。我在这方面找不到任何东西,但我也发现很难找到合适的明确搜索词。所以,Stackoverflow 来拯救(我希望)!

我有一个 C++ 类,我在 Objective-C(++) 类中有一个实例(并且我为要调用的构造函数/析构函数启用了项目设置)。

在我尝试通过@synthesized 属性公开实例之前,这一切都很好。我将其assign设为属性(因为 Obj-C 保留计数不适用)。该属性似乎可以工作,除非我设置实例时我希望复制构造函数参与其中。我实际看到的是创建了一个临时实例(调用了其上的复制构造函数 - 这是所有预期的。但是没有调用ivar 实例上的复制构造函数。这些值是“神奇地”设置的。我假设@synthesized 代码正在做类似于 amemcpy作为最后一步的事情。这对 C 来说很好struct,但对 C++ 没有太大帮助classes 其中代码的正确性取决于正确调用的复制构造函数和赋值运算符。

有没有人更深入地研究过这个,让它工作,或者确认不可能将 C++ 对象作为 ivars 保存在 Obj-C(++) 类中并且有由@synthesized 属性设置器调用的复制构造函数?

(如有必要,我可以发布所有这些的示例代码 - 但即使是最小版本也是一个屏幕左右)。

0 投票
2 回答
1665 浏览

c++ - .cpp 文件中的目标 C 语法?

我正在尝试将一些示例代码复制到我自己的项目中。示例项目是来自 sdk 的 iPhoneExtAudioFileConvertTest。示例项目包含一个名为 ExtAudioFileConvert.cpp 的文件。该文件包含类似于 Objective-C 代码的内容:

示例项目运行良好,但编译器在我构建自己的项目时抱怨上面的代码:错误:'['标记之前的预期主表达式

这里发生了什么?显然有一些方法可以在 .cpp 文件中使用客观的 c 括号语法。我需要做什么才能使其工作?

0 投票
3 回答
599 浏览

iphone - iphone: 线程 + 释放池 + [对象释放] = "发送到已释放实例的消息"

我在 iphone 上运行一些小代码时遇到了麻烦。

基本上,我只需按下一个按钮,它就会调用,它在后台线程上runTest运行方法。test这就是我创建自动释放池的原因。

如果我运行下面的代码,我会在控制台上收到一条漂亮的消息:
2010-09-07 11:45:15.527 test[1312:207] *** -[CFString release]: message sent to deallocated instance 0x3d52ba0

我发现:如果我不在test后台线程(没有自动释放池)上运行,只需调用[self test],代码就可以正常工作。

所以,我认为问题出在线程+自动释放池周围,我做错了什么?我该如何解决?

PS我NSZombie启用了标志。

0 投票
2 回答
228 浏览

objective-c - Objective-C 内存管理

我对objective-c的内存管理有一些疑问,

比方说:

我认为str1会有一个tests 内容的副本:str1将指向包含 的内存(堆)的一个地址msg,该地址与 所指向的地址不同test。对?

关于str2:
1.它存储什么?,我猜指向的地址相同test,但它会将引用计数器test增加到2。2
.当我更改测试的内容时,str2有什么?我想它仍然指向msg

关于str3:这是不正确的,对吧?,有什么作用assign

谢谢。

奖金问题:

我应该在更改其内容之前发布测试吗?

0 投票
2 回答
84507 浏览

c++ - 什么是目标 C++?

什么是 Objective C++,我可以在 Xcode 中使用这种语言吗?

0 投票
3 回答
792 浏览

coding-style - 编码风格:锁定/解锁内部还是外部?

另一个可能是愚蠢的风格问题:

并发应该如何锁定?执行者或调用者应该负责锁定线程吗?

例如,没有特定的语言...

或者

我对线程和锁定知之甚少,所以我想确保代码是健壮的。第二种方法允许线程不安全调用......从技术上讲,您可以在不执行任何锁定的情况下调用 _executor.method()。

帮助?

谢谢,

0 投票
1 回答
1004 浏览

c++ - 使用 appendBezierPathWithGlyphs 获取字形轮廓的问题

我正在使用 Objective-C++。

我正在尝试使用NSBezierPaths获取文本的路径轮廓appendBezierPathWithGlyphs。问题是:输出相当无意义:(

我写的:

例如对于字母“t”,我得到以下输出:

这对我来说真的很不对劲!

0 投票
4 回答
6130 浏览

c++ - Xcode 中的 Objective-C++ 和 .cpp 文件

我正在尝试制作一个简单的 Objective-C++ 应用程序。我所有的代码都编译得很好,包括在 Objective-C 类中使用 C++,直到我尝试添加一个 C++ 类。我创建了一个简单的 C++ 类:

测试.h

并将此文件包含在 Objective-C 类中(扩展名为 .mm),我收到以下构建错误:

显然我在这里遗漏了一些简单的概念。我会很感激一些启示。

0 投票
3 回答
2131 浏览

android - gcc -x Objective-c 与 Android SDK

由于 Objective-C 存在并且即使在 MinGW 中也受支持,通过传递-x objective-c,是否有使用 Android SDK 实现此目的的技巧?我在同事的机器上进行了初步测试,似乎objective-c不支持该语言。

我对让 UIKit 或 AppKit,甚至是 Foundation 工作不感兴趣;我用 Objective-C 编写了大部分 OpenGLES 游戏,并成功地将其移植到 Mac OS X 和 Windows;我相当肯定,一旦我有时间弄清楚足够的 GNUStep,我可以轻松地将它移植到 GNU/Linux(即使没有它,我也可以创建类来运行游戏)。

我只对基础语言和基本运行时(如果可能的话,包括属性)感兴趣;甚至NSObject可以很容易地写到我需要的程度。


与此同时,我设法编译了一些 Objective-C 代码,并为此编写了一个指南:

我在下面的回答中有更多详细信息。

0 投票
1 回答
3866 浏览

c++ - Objective-C 的 iostream 和 sstream

我正在尝试将一些 C++ 代码移植到 Objective-C。它包括iostreamand sstream,但 Objective-C 不识别这些。应该做什么?