问题标签 [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.
c++ - Objective C++ 代码中的合成属性设置器未调用复制构造函数
我们都知道 Objective-C++ 的文档很少。我在这方面找不到任何东西,但我也发现很难找到合适的明确搜索词。所以,Stackoverflow 来拯救(我希望)!
我有一个 C++ 类,我在 Objective-C(++) 类中有一个实例(并且我为要调用的构造函数/析构函数启用了项目设置)。
在我尝试通过@synthesize
d 属性公开实例之前,这一切都很好。我将其assign
设为属性(因为 Obj-C 保留计数不适用)。该属性似乎可以工作,除非我设置实例时我希望复制构造函数参与其中。我实际看到的是创建了一个临时实例(调用了其上的复制构造函数) - 这是所有预期的。但是没有调用ivar 实例上的复制构造函数。这些值是“神奇地”设置的。我假设@synthesize
d 代码正在做类似于 amemcpy
作为最后一步的事情。这对 C 来说很好struct
,但对 C++ 没有太大帮助class
es 其中代码的正确性取决于正确调用的复制构造函数和赋值运算符。
有没有人更深入地研究过这个,让它工作,或者确认不可能将 C++ 对象作为 ivars 保存在 Obj-C(++) 类中并且有由@synthesize
d 属性设置器调用的复制构造函数?
(如有必要,我可以发布所有这些的示例代码 - 但即使是最小版本也是一个屏幕左右)。
c++ - .cpp 文件中的目标 C 语法?
我正在尝试将一些示例代码复制到我自己的项目中。示例项目是来自 sdk 的 iPhoneExtAudioFileConvertTest。示例项目包含一个名为 ExtAudioFileConvert.cpp 的文件。该文件包含类似于 Objective-C 代码的内容:
示例项目运行良好,但编译器在我构建自己的项目时抱怨上面的代码:错误:'['标记之前的预期主表达式
这里发生了什么?显然有一些方法可以在 .cpp 文件中使用客观的 c 括号语法。我需要做什么才能使其工作?
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
启用了标志。
objective-c - Objective-C 内存管理
我对objective-c的内存管理有一些疑问,
比方说:
我认为str1
会有一个test
s 内容的副本:str1
将指向包含 的内存(堆)的一个地址msg
,该地址与 所指向的地址不同test
。对?
关于str2:
1.它存储什么?,我猜指向的地址相同test
,但它会将引用计数器test
增加到2。2
.当我更改测试的内容时,str2有什么?我想它仍然指向msg
关于str3:这是不正确的,对吧?,有什么作用assign
?
谢谢。
奖金问题:
我应该在更改其内容之前发布测试吗?
c++ - 什么是目标 C++?
什么是 Objective C++,我可以在 Xcode 中使用这种语言吗?
coding-style - 编码风格:锁定/解锁内部还是外部?
另一个可能是愚蠢的风格问题:
并发应该如何锁定?执行者或调用者应该负责锁定线程吗?
例如,没有特定的语言...
或者
我对线程和锁定知之甚少,所以我想确保代码是健壮的。第二种方法允许线程不安全调用......从技术上讲,您可以在不执行任何锁定的情况下调用 _executor.method()。
帮助?
谢谢,
c++ - 使用 appendBezierPathWithGlyphs 获取字形轮廓的问题
我正在使用 Objective-C++。
我正在尝试使用NSBezierPath
s获取文本的路径轮廓appendBezierPathWithGlyphs
。问题是:输出相当无意义:(
我写的:
例如对于字母“t”,我得到以下输出:
这对我来说真的很不对劲!
c++ - Xcode 中的 Objective-C++ 和 .cpp 文件
我正在尝试制作一个简单的 Objective-C++ 应用程序。我所有的代码都编译得很好,包括在 Objective-C 类中使用 C++,直到我尝试添加一个 C++ 类。我创建了一个简单的 C++ 类:
测试.h
并将此文件包含在 Objective-C 类中(扩展名为 .mm),我收到以下构建错误:
显然我在这里遗漏了一些简单的概念。我会很感激一些启示。
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 代码,并为此编写了一个指南:
我在下面的回答中有更多详细信息。
c++ - Objective-C 的 iostream 和 sstream
我正在尝试将一些 C++ 代码移植到 Objective-C。它包括iostream
and sstream
,但 Objective-C 不识别这些。应该做什么?