问题标签 [objc-bridging-header]
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.
swift - 无效的预处理指令 swift
我在导入 payTab(支付网关!)时收到此错误(无效的预处理指令)
objective-c - 强制返回 `id` 和 inout NSError 的 Objective-C 方法桥接到可选返回
考虑这个 Objective-C 类:
我TestAPI
用作抽象基类,并希望在 Swift 中继承它。
Swift 将此代码桥接成如下所示(即对应菜单 -> Swift 4.2 界面):
问题是它aNullableMethodWithError()
可以nil
作为有效值返回。
我如何说服 SwiftaNullableMethodWithError()
返回Any?
而不是返回Any
?
还是有更好的方法来编写 Objective-C 方法签名?
ios - “id”类型如何在不强制转换的情况下理解方法的接收者?
将 master 合并到我的工作分支后,我在线上遇到了编译器错误,该错误没有被更改。错误看起来像
发现多个名为“count”的方法结果不匹配。
起初看起来很清楚,因为编译器不知道“test”变量是哪种具体类型。但我不明白为什么它以前有效。
如果我创建一个新文件,这条线可以工作,假设这是一个 NSArray 的方法。为什么编译器在这种情况下不显示错误?
在显示错误消息时,显示了几种可能的计数方法接收器。(NSArray,NSDictionary,NSSet)它是否搜索所有可以接收该消息的类并在有多个时显示错误?
我注意到导入“-Swift.h”文件时发生错误。怎么看?
objective-c - Objc 类无法识别 Swift 类
按照以下步骤,我无法在我的目标 c 项目中导入 swift 类:
环境:
Xcode: 10.0
斯威夫特:4.2
1 - Ctrl+N 生成一个新的 swift 文件
2 - 从 xcode 问题中选择“创建桥接头”
3 - 在 Target -> build settings,搜索“Packaging”并打开“Defines Module”
4 - 在我的 objc .m 文件中导入 #import "MyProjectModuleName-Swift.h"
5 - 尝试调用我的 swift 方法,但似乎没有任何效果,我无法调用它,因为我的 .m 类无法识别我的 .swift 文件。
怎么了?
ios - 从 swift 访问前向声明的枚举的属性
鉴于有一个用 Swift 编写的 ObjC 兼容枚举:
和一个 ObjC 类,其类型的属性MessageType
必须提前声明:
为了Message
在 Swift 代码库的其余部分中使用 ,Message.h
被添加到桥接头中:
现在,假设有一个 Swift 类试图读取该messageType
属性:
编译将失败并出现以下错误:
我的问题是:有没有办法向前声明一个 Swift 枚举以便MessageTypeReader
能够访问该属性?
注意:我知道将 Message 重写为 Swift 或将 App-Bridging-Header.h 导入 Message.h 的可能性,但这不是一个选项,我正在寻找一种适用于当前设置的解决方案。
xcode - 未能发出预编译的标头
下午好
我正在尝试将谷歌热图实施到我的基于地图的项目中。在这个特定项目中,尝试构建时出现以下错误。
并跟进说
我不确定为什么会发生这种情况,因为我创建了一个全新的项目并进行了相同的实现并且效果很好。但是当我在现有项目上运行它时,我得到了这两个错误。
我一直在研究这个问题一段时间,但我无法弄清楚问题是什么。我将桥接头设置为 .h 文件。
我已经尝试了个人试图给出答案的大多数步骤,但由于某种原因,它不适用于我的项目。先感谢您。在阅读 google 安装指南时,它说我只需要添加一个桥接头文件,即您在下图中看到的代码。在研究它时,我发现我还需要添加一个 .m 文件,但是当我这样做时我仍然会遇到同样的错误。再次,在我的虚拟项目中,我没有 .m 文件,只有您在下面看到的所有内容,并且所有内容都可以编译。
ios - Swift 生成的桥接头中 AuthChallengeDisposition 枚举的语义问题
我正在向URLSessionDelegate
我的一个 Swift 类(称为SearchViewController
)添加协议一致性,并且我正在实现urlSession(_:task:didReceive:completionHandler:)。此方法的签名包括 type URLSession.AuthChallengeDisposition
。当我构建项目时,似乎这种类型会导致自动生成的 Swift-Objective C 标头出现问题:
Swift 团队似乎不太可能搞砸桥接行为,因为我无法通过搜索找到任何东西(其他人可能正在实现和桥接这个委托方法),但我不知道还有什么可能上。我对这些桥接头几乎一无所知,所以我在这里很迷茫。
ios - 项目在 Swift 中时无法从 Objective-C 访问 swift 类
我有一个 swift 项目,我的初始项目UIViewController
是一个 swift 类。
从最初的 开始,我在 my 中ViewController
添加了一个新的并为其设置了一个Objective-c类 ( )。Viewcontroller
storyboard
FirstViewController.h
在我的项目中,我有另一个swift 类( DataManager.Swift
),它是NSObject
.
现在我想DataManager.swift
在我的Objective-C 类( FirstViewController.m
) 中创建它的一个实例。但不幸的是,我无法创建这个实例,给了我一个错误,比如 -
Receiver '
DataManager' for class message is a forward declaration
我现在可以做些什么来解决这个问题?项目快速运行时,是否可以从 Objectibe-C 类访问swift 类?
我的FirstViewController.m,
我的DataManager.swift类,
我的BridgingHeaderFile,