问题标签 [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.
cocoa - 通过 QMacNativeWidget 混合 Qt 和 Cocoa - 我无法在 NSWindow 上显示 QDialog
我正在为 Cocoa 应用程序开发一个插件,为了使用现有的 cpp 代码,我们决定通过 Objective-C++ 将 Cocoa 插件与我们现有的 Qt 项目结合起来,这需要大量学习但即将到来出色地。
无论如何,我被我目前的问题难住了。该插件的设计使得应用程序为我们提供了一个 NSWindow,其中包含两个 NSView。我们在这两个视图之一中放置了一个 QMacNativeWidget,并且那里的一切工作正常。我遇到的问题是,当我尝试从我们的插件中创建一个新的 QDialog() 时,QDialog 总是在包含插件的 NSWindow 后面。
无论我是否 raise() 新的 QDialog,NSWindow 总是在前面,即使它立即失去 QDialog 的键盘焦点。如果我移动 NSWindow,我可以看到它后面的 QDialog,但即使我点击它的标题栏并移动它,它仍然在 NSWindow 后面。
只是想知道是否有人在混合 NSWindows 和 QDialogs 时遇到过类似的问题,以及是否有任何可能的解决方案,除了将我的 QDialog 包装在另一个 QMacNativeWidget 中,然后将它放在另一个 NSWindow 中,我宁愿不必这样做,因为我有许多对话框。
谢谢。
objective-c - Objective-C++ 中的析构函数
我有一个objective-C++ 类,其中包含一些诚实的C++ 对象指针。
当 Obj-C++ 类被销毁时,它会立即调用 dealloc 吗?如果是这样,那么是通过放置来破坏 C++ 类的最佳方法
在dealloc方法中?
c++ - 模棱两可的类命名空间问题
我......觉得问这个真的很傻,但我不知道如何解决这个问题。
这是我的代码(Objective-C++)的一个小片段:
我得到的错误是:Use of 'Window' is ambiguous
它说它在 Xh astypedef XID Window
和 window.h 中声明class eq::Window
为它的超类。
我要宣布的课程应该在namespace eqOther
是吗? eqOther::Window
不同于eq::Window
!?
我觉得自己太笨了,但我只是不明白我做错了什么......
shared-ptr - iPhone上Objective C++的std::tr1::shared_ptr?
我主要是 C++ 开发人员,最近我正在编写 iPhone 应用程序。
iPhone 上的内存管理对我来说没问题,由于资源限制,鼓励使用引用计数器而不是深拷贝。
一件烦人的事情是我必须自己管理引用计数器:alloc 意味着 counter = 1; retain 表示 counter++,release 表示 counter--
我希望为 Cocoa Touch 编写一个类似于 shared_ptr 的类,所以我很少需要自己手动操作引用计数器。
我怀疑是否有任何现有的代码,我想听听一些建议,今天是我开始学习目标 c 的第五天
谢谢。
iphone - 什么是线性 PCM 值
我正在使用 iPhone OS 中的音频,有点困惑。
我目前正在从我的音频缓冲区以 pcm 值的形式获取输入,范围从 -32767 到 32768。我希望使用公式 20LOG10(p/pref) 执行 dbSPL 转换。
我知道 pRef 是 .00002 帕斯卡,并且想将 pcm 值转换为帕斯卡。
我的问题是 a) 这些 pcm 值究竟代表什么。b)如何将这些值转换为帕斯卡。
非常感谢
iphone - 谁在处理程序文件上释放了我的对象?
我是iphone开发世界的新手..
我开始了一个新项目,我用它来测试我对目标 c 的了解,它基本上从我的本地服务器发送和接收数据,然后,我将一些数据存储在类中,它工作正常。一切都在命令行上。
我的班级定义:
我设置了“输出”值,将它们转换为 xml 并将它们发送到我的服务器。我的服务器响应,我得到“in”值名称是一个字符串,其中包含“in”值的一些特殊值。
当我尝试将我的代码与我在互联网上找到的一些示例/演示混合时,问题就出现了,演示带来了一些 MVC?文件(*Handler.h/m、*ViewController.h/m、*AppDelegate.h/m)。有一个按钮(btnStart),如果我按下那个按钮,它会调用
如果我将发送和接收调用放在 start 方法中,一切正常。
但...
我尝试了两个必须按钮:发送和接收,两者都有效(我已经尝试过它们并将输出发送到控制台),两种方法都是:
都在 *Handler.m 中
然后:方法 1) 将只执行 [myClient send]; 方法 2) 将只执行 [myClient receive];
它不起作用,它给我一个“BAD_ACCESS”错误,我调试了(我使用了 NSZombie ..)......
我发现调用 [myClient send] 时存储的数据(输入、输出、名称)在调用 [myClient 接收] 时被释放/杀死/不存在
我没有打电话给 [myClient release] 或类似的东西。
问题:我做错了什么?该代码(方法1)和2))应该在哪里?
谢谢。
更新: 这是一些代码,它很大,所以我复制并粘贴了重要的部分,如果您需要更多代码,请告诉我,谢谢!
更新: 谢谢大家(IwasRobbed、Simon、TechZen)
我一直在调试和更改代码......我发现:为了保持名称名称和id值,我必须这样做:
问题:Q1。谈论旧代码(没有copy
),释放name
andid
值是因为
1)它的尾随paramIn
字典,并被paramId
释放?
或者
2) 两个值都是从paramIn
字典中复制的,但没有保留/复制指令
我想,答案是 2),对吧?
Q2。如何保留存储在 NSMutableDictionaries 中的值paramIn
和paramOut
?
谢谢
c++ - Objective-c 头文件中的 C++ 类声明
我想在objective-c头文件中声明一个类c++样式,但我得到一个错误“错误:预期'=',',',';','asm'或'__属性__'在'CPPClass'之前”
这是来自 .h 文件的代码。
如果我实现它的objective-c风格@class CPPClass
,我在定义它时会出错,说它找不到接口声明。有没有这样做,否则,导入我的头文件和导入的c++头文件的所有objective-c类也必须是.mm文件。
附言。我已将 m 文件重命名为 mm。
iphone - 如何编写可移植的 C/C++/Objective-C++ 代码以针对 Apple iPhone/Mac OSX?
我正在使用一些在 Win32 和 VxWorks 上运行的 C/C++ 代码。它用于#ifdef WIN32
切换到特定于平台的实现。
我一直在 iPhone 上使用代码,我想对其进行更新并使其尽可能便携,但我不确定最佳实践是什么。到目前为止,我一直在使用#ifdef __APPLE__
积木。
我应该使用什么来定位 Apple iPhone 和 Mac OS X?
- 是
#ifdef __APPLE__
最好的方法吗? - 有什么需要注意的问题吗?
c++ - 链接器中 CXX_FLAGS 的 CMake 交叉编译问题
我在 mac os x 上有以下用于 iPhone 交叉编译的工具链:
我使用以下 CMakeLists.txt:
我使用以下编译 bash 脚本:
问题是,它也在链接器中使用 CMAKE_CXX_FLAGS 。编译没问题。链接看起来不错,它添加了正确的 -framework 标志,但也添加了 CMAKE_CXX_FLAGS(它们是 -x objective-c++),因此它不是链接先前编译的目标文件,它的行为就像编译目标 c++(-x 目标 c++),并且不可能链接这些对象。
我收到类似的错误
你不知道我做错了什么吗?