问题标签 [bridging]

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 投票
1 回答
766 浏览

c++ - 包装 std::vector从 C++ 到 C 用于 Swift

我想使用一个在 Swift 4 中用 C++ 编写的程序。我已经阅读并理解了如何按照http://www.swiftprogrammer.info/swift_call_cpp.html中的描述进行连接和包装的描述。

然而,现实生活更复杂,我没有 C++ 经验。我在 C++ 头文件中有以下代码。

我有两个问题:

  1. 如何用C编写函数声明?我不知道向量在 C 中的等价物是什么。
  2. C中命名空间的含义是什么?
0 投票
1 回答
111 浏览

c - 不安全可变指针转为 UTF8 字符串

我有一个指向 C 字符串的 UnsafeMutablePointer,我想将此指针处的字节转换为 Swift 字符串,数据是 C 字符串,所以是 UTF8。

是否可以逐字节迭代直到NULL?或者更简单的方法?

0 投票
1 回答
1055 浏览

objective-c - Swift 无法将 NSNumber 桥接到 Float

所以我有一个 NSArrays 加载了保存在Shot对象上的俯仰和偏航值。

我正在尝试快速进行一些数字运算并遇到一个非常奇怪的问题:

由于某种我无法弄清楚的原因,第一行运行良好。然而,第二行抛出一个Fatal error: Unable to bridge NSNumber to Float.

当我shot.recoil_pitch[0..<10]在调试器中检查时,我得到:

当我检查时,shot.recoil_yaw[0..<10]我得到:

关于为什么我可能会收到此错误的任何想法?

0 投票
1 回答
604 浏览

swift - 什么是 Swift 中的桥接转换,如以下警告所示: 'Data?' Conditional downcast to 'CKRecordValue 是一种桥接转换

什么是 Swift 中的桥接转换?“桥接”是什么意思?

我在以下代码中收到警告,我在其中标记了“//警告”的注释:

警告说:

来自“数据?”的有条件的沮丧 到“CKRecordValue”(又名“__CKRecordObjCValue”)是一种桥接转换;你的意思是用'as'吗?

我也有使用桥接转换的代码:

其中 privateEntityInstance.media 是可选的,privateMedia 也是可选的。该代码是否有效,以便 CoreData 将保存媒体属性的适当值,无论它是 NSObject 还是 nil?

0 投票
1 回答
297 浏览

objective-c - 从 Swift 访问 Objective-C #define 常量

我有一个包含 Swift 和 Objective C .h 和 .m 文件的现有项目。在其中一个 .h 文件中有很多

#define kSomeConstant @"一些字符串"

当 Swift 文件位于作为应用程序子项目的框架中时,如何使这些可用于项目中的 Swift 文件?

到目前为止,我已经尝试在 .m 文件类定义中制作包装静态方法,例如:

+ (NSString*) objc_kSomeConstant { 返回 kSomeConstant; }

我尝试在 .h 中执行以下操作:

extern NSString *const kSomeConstant;

使用 .m 文件中的定义:

NSString *const kSomeConstant = @"某个字符串"

两种方法都没有奏效。

0 投票
2 回答
259 浏览

mqtt - Mosquitto-动态桥接

我想知道你们中是否有人尝试过这个 - https://github.com/eclipse/mosquitto/pull/535/files Mosquitto 工作正常,但是这个主题要发送什么有效负载?- $SYS/broker/bridge/new 我无法实现动态桥接,请帮帮我。

0 投票
0 回答
77 浏览

javascript - 双向 Javascript - 通用业务逻辑的 Swift 桥

我正在寻找一种解决方案来设置一个快速 SDK(例如框架),该 SDK 可以从 javascript 包访问共享业务逻辑(与例如 android 应用程序或 SDK 共享)。我不想使用 webviews 等...

javascript 包中的共享业务逻辑

我有一个包含项目共享逻辑的 Javascript 包,可作为 api 使用,例如 myBundle.js,它导出多个模块/函数/对象。

我想构建一个原生 Swift 应用程序,它使用上面提到的 Swift SDK,因此可以从 myBundle.js 访问业务逻辑:

第 1 步:在我的 Swift 项目中,我想

第 2 步:此外,从 JS 访问 Swift 代码也非常有用!

我试过:...在 iOS 中使用 Nativescript,并且能够设置一个运行 V8 运行时的 Swift 应用程序。此设置允许我从 javascript 包(带有 swift 的 Nativescript )访问本机 Swift 代码。因此,第 2 步涵盖了这一点。然而,Nativescript 在内部设置运行时并“运行包的主上下文”(期望它包含应用程序“运行”?)。它用一个非常简单的 Nativescript 接口包装了底层 V8 运行时的逻辑:

是否有一种简单的方法可以在整个 Swift 代码中显式地访问底层运行时的上下文并从包中调用模块上的函数?就像您可以在捆绑包中的整个 JS 代码中添加 Swift 代码一样......所以,我真的在寻找一种双向解决方案,其中 javascript 使用 Swift 代码而 Swift 代码使用 JS

也欢迎其他解决方案!

0 投票
1 回答
330 浏览

mqtt - 自桥接 Mosquitto MQTT 代理

我正在尝试自我桥接蚊子经纪人。让我解释一下我这样做的场景。

我们的应用程序有两个部分。一个与处理数据有关,另一个是从 PLC 设备读取数据的 modbus 服务。应用程序的处理部分能够处理多个客户端。我想为同一个客户端设置一个测试和一个生产租户。这背后的原因是,这将使我们的客户可以自由地与测试租户一起玩,因为生产不会受此影响。

测试客户端从代理发送和接收数据。重要的是我们不要将测试租户的数据发送到我们的 modbus 服务。主题遵循以下格式。

company/service/test/+对于测试客户端和company/service/prod/+产品客户端。

modbus 服务以 格式将数据发送到同一个代理company/service/prod/+

有没有办法让我重新映射这个主题,company/service/test/+以便测试和生产客户端都可以从代理接收数据。

请记住,我有一个代理实例,我正在尝试对此进行自我桥接。

在我上面的配置中,重新映射不会发生,因为它不是有效的前缀。

有人可以帮我弄清楚如何解决这个问题吗?

0 投票
2 回答
43 浏览

ios - 我需要在objective-c 中使用一个swift 类,并且无法设置我的Emilos-Swift.h 桥接文件来解析objective-c 中的任何swift 类

无法让 Xcode 生成桥接文件,因此它目前是空的,并且找不到任何关于文件中需要内容的指南/文档。空的桥接文件被导入到需要类的 .m 中。在类定义上使用 @objcmembers 的 Swift 文件。

如何以及应该如何进入桥接文件。找了两天试图使这项工作没有成功。

有没有办法在 Xcode 中重新启用桥接文件的自动生成?关于桥接文件内容的任何文档?

0 投票
1 回答
33 浏览

sql - 从多对多关系的桥接表中检索数据的查询

由于多对多关系,我有一个带有两个连接或桥接表的表 SQL 服务器。

我想知道是否有人可以编写查询来检索数据或对该表执行更新所有这三个表的 CRUD 操作。

请检查所附图表,特别是表格(中间有一个桥接表的案例、暴力类型和推荐表)。 点击查看DB图

你的,奥马尔