问题标签 [objective-c-swift-bridge]
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.
ios - Objective-C 调用 Swift 函数
文件中定义的 Swift 函数MySwift.swift
:
SomeSwift()
没有在任何 Swift 类中定义,它只是一个纯函数。
CMD+B构建项目后,打开Project-Swift.h
,SomeSwift()
那里不显示。
Swift 中的函数是否必须在某个 Swift 类中定义?并带有@objc
标记?
如下所示:
objective-c - 架构 x86_64 幻灯片选项卡视图的未定义符号
背景:
- 在 iOS Swift 应用程序中使用 DLSlideView 进行幻灯片选项卡视图。
- 选择的项目语言 = Swift
- Xcode 版本 = 8.1
- 桥头 = 已创建
- 运行平台 = 模拟器
- 导入文件的路径全部设置。
在 Target >> Building Settings >> Swift Compiler - General 中为桥接头设置了路径
我正在尝试在 Swift 项目中桥接 Objective-C 代码。但是在编译时出现以下错误:
如果有人可以帮助解决究竟是什么问题?
objective-c - Objective-C 代码 Swift-framework-internal
对于 Swift 框架,我有以下结构:
不幸的是,我无法ClassA
在内部访问FrameworkA.swift
;错误是:
使用未解析的标识符“ClassA”
ClassA
应该受到保护/框架内部。
我究竟做错了什么?
swift - 如何在 Swift 3 中将字典表示为 NSValue?
我有以下字典:
我需要将其存储为 NSData 变量,为此必须首先将其转换为 NSValue,我尝试按以下方式进行操作:
只遇到错误:
无法将“Void”(又名“()”)类型的值转换为指定类型“NSValue”
我已经看到建议使用的 SO 答案:
但这也会产生错误:
类型 'UnsafeMutablePointer<_>' 没有成员 'load'
那么,如何在 Swift 3 中将字典转换为 NSValue 呢?
objective-c - 无法构建模块“NUI”:找不到“NUIParse/NUIParse.h”文件
将 NUI pod 导入内部时出现问题Swift-Bridging-Header.h
。由于缺少依赖项,无法构建 NUI 模块<NUIParse/NUIParse.h>
。
- 我什至尝试添加
NUIParse
到 中Podfile
,但它没有帮助。 pod install
也无济于事
<NUIParse/NUIParse.h>
问题似乎是Pod内部模块的非模块导入NUI
,如何避免该问题?
的一部分Podfile
,其中NUI
定义:
pod 'NUI', :git => ' https://github.com/peantunes/nui.git '
Xcode 控制台中的编译错误:
Swift-Bridging-Header.h
:
NUIDeclaration.h
在NUI
模块内:
ios - 快速从objective-c访问外部变量
我有一个同时使用 Obj-C 和 Swift 的 iOS 项目。
在main.m
中,我想实例化一个 Swift 可以访问的变量。具体用例是将绝对时间存储在 处main
,然后测量从main
其他地方开始经过的时间。
这是我的相关文件的样子:
main.m
myapp-Bridging-Header.h
AppDelegate.h
然后在实际.swift
文件中,我只是试图在StartTime
没有声明任何内容的情况下访问(因为我认为它是有效的,因为它被外部化了),但我遇到了一个unresolved identifier
错误。
objective-c - Cannot access Swift vars from objective-c, Xcode 8
I have looked at a lot of posts on this topic, and I still can't see what I am doing wrong. I have a view controller in objective-c that is trying to access an NSObject code snippet in Swift. I have Debugs Module YES and both the objective-c Bridging Header and the Swift header are at the correct places in Build Settings. Here are the relevant parts of the code:
Swift code:
In ViewController.m, starting to type MyClass receives the following warning from the compiler:
/Users/nelson/swiftTest/swiftTest/ViewController.m:20:5: Use of undeclared identifier 'MyClass'.
Note that I declare the Swift class as @objc and public. My understanding from Apple's documentation is that this should make any vars and functions visible to objective-c code in the same target. Project module name is 'swiftTest.'
Can anyone shed some light on this? I've been trying to get it to work for almost an entire day. Thanks!
ios - “找不到文件”目标c中的错误到快速桥接头
我已将 放置.framework
在目标级别(在 swift 项目文件夹之外)。我#import
在桥接文件中给出了(framework)/.h(file)
似乎正确的路径,但我有同样的错误。我已经尝试了所有的可能性。我可能错过了一些东西。
提前致谢:)
swift - 无法将“NSArray”类型的值转换为预期的参数类型“[Any]!”
我在我的 Swift 3.0 代码中添加了一个 Objective-C 类别。它有一个带有标题的方法:
当我从我的 Swift 代码中调用它时:
我得到了错误:
无法将“NSArray”类型的值转换为预期的参数类型“[Any]!”
那有什么问题?
swift - Swift & Salesforce SDK,使用 SFRestDictionaryResponseBlock
我一直在尝试创建一个删除请求,以使用 SFRestAPI 从我的自定义对象中删除特定记录。到目前为止我写的代码是;
但是,这会立即引发错误说;
无法将类型“SFRestDictionaryResponseBlock.Type”(又名“((可选>)->()).Type”)的值转换为预期的参数类型“SFRestDictionaryResponseBlock”(又名“(可选>)->()”)
我已经能够通过将 Fail 块转换为 SFRestFailBlock 类型的 NSError 来解决这个问题,但这似乎不适用于 swift 中的 Complete Block。
块的 Salesforce SDK 类型定义是
任何帮助将不胜感激,在此先感谢。