问题标签 [language-interoperability]
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.
objective-c - 如何让我的 Objective-C 类符合 Swift 的 `Equatable` 协议?
我有一个 Objective-C 类(恰好是一个按钮,但这并不重要),在我的(混合语言)项目的另一部分,我有一个这些按钮的数组,我想获得索引使用该find()
方法的按钮。像这样:
但我得到了
类型 'ImplicitlyUnwrappedOptional' 不符合协议 equatable
好的,让我们使用 Objective-C 并实现 ButtonThing <Equatable>
。但它不承认这一点。
那我该怎么办?现在我正在围绕它进行构建,强制数组成为 NSArray 并使用indexOfObject
. 但这很丑陋。并且令人沮丧。
ios - 目标 C 和 Swift 互操作性导致错误“扩展可能不包含存储的属性”
我正在开发我以前在 Objective C 上完成的应用程序之一。我需要向它添加一个新模块,我决定对那个特定模块使用 Swift。
我有一个HomePage
在 Objective C 中调用的类,我想在其中添加一些新IBAction
的 s 和IBOutlet
s。为此,我添加了一个新的 swift 文件并扩展了现有的类,例如:
如果我只添加 IBActions,一切都会完美运行。但是当我添加 IBOutlet 时,编译器会抛出如下错误:
扩展可能不包含存储的属性
为了修复它,我有两种方法,
- 在我的 Objective C 类本身中声明出口
- 将整个 Objective C 类转换为 Swift 并在那里声明属性
有没有其他方法可以解决这个问题?
c - Fortran 和 c 互操作性
我一直在写一个Fortran和C接口,但总是出现错误。我不确定为什么会出现问题。原始C代码如下:
并且当我编译和链接它时,它可以运行并且有正确的结果。但是当我在 Fortran 代码中编写 rosenbrock_f 并使用内部模式 iso_c_binding 使它们可互操作时,它不能有结果,只能说
这是 C 和 Fortran 代码:
fortran 模块:
fortran 程序:
有人可以帮我吗?我不知道为什么会有内存无效引用。
objective-c - 以协议为参数的 ObjC 泛型集合被翻译为 [AnyObject]
为什么protocols
属性在swift中被翻译为[AnyObject],而不是[P]
在 Swift 中,它看起来是这样的:
更新:找到解决方案
或喜欢建议的 newacct
被翻译成:
python - 无法从 ctypes 获取 fortran 函数输出
我正在尝试使用 ctypes 从 Python 调用 Fortran 函数。我试图从子例程和函数(都具有相同的功能)中获取结果,但是我无法从函数中获得预期的输出,而子例程运行良好。问题是我有很多带有 Fortran 函数而不是子例程的库。Fortran 函数和 ctypes 有什么问题吗?
一段 Fortran 代码:
我正在使用的 Python 代码是:
对于这个功能,我尝试了很多东西,但我从来没有得到正确的结果。要运行该程序,请尝试:
子例程调用返回预期的向量,而函数调用返回空向量或充满垃圾的向量。
c# - Use Python alongside C# in Windows UWP app
I started writing an application in Python, but I now want to switch to C# and UWP. I know that you cannot write a UWP app in Python, but I am trying to see if I can write some code in Python and access that code from C#.
For example, writing a class in Python that C# code can access as well. Is that possible? And if so, can Python access Microsoft's UWP APIs?
The main code will not be written in Python; that would be impossible. But can interoperability between C# and Python exist, perhaps with IronPython (.NET's Python)?
And how would I set up such a Visual Studio project? I have Python Tools for Visual Studio installed, but there was no built-in option to add a Python file to my UWP app.
c - Swift调用C API时如何处理指针
c Lib API:mycapi.h
添加 myapi.h 作为模块
我的快速代码:
所以我的问题是:
- 为什么我仍然可以使用
o
afterh.destroy()
? - 我必须破坏
h
ando
吗?
c++ - C 标准库中的函数可以在 C++ 中使用吗?
现在我正在熟悉 C 和 C 标准库,我想知道我在这方面的知识在以后转向使用 C++ 时是否有用。
因此,我想知道,我是否可以在 C++ 设置中使用 C 标准库提供的函数,以及实际这样做是否有意义以及为什么有意义。
objective-c - 对不从 Objective-C 类继承的 Swift 类使用 @objc 属性
使用 Swift 与 Cocoa 和 Objective-C (Swift 2.1) 文档的互操作性部分的以下段落似乎表明有一种方法可以使用不从 Objective-C 类继承的 Swift 类来实现互操作性。
当您创建从 Objective-C 类继承的 Swift 类时,该类及其成员(与 Objective-C 兼容的属性、方法、下标和初始化程序)会自动从 Objective-C 中获得。在某些情况下,您需要更精细地控制 Swift API 如何向 Objective-C 公开。如果您的 Swift 类不是从 Objective-C 类继承的,或者如果您想更改接口中符号的名称,因为它暴露给 Objective-C 代码,您可以使用 @objc 属性。
我尝试了以下操作:
但不幸的是,它给出了一个编译错误:只有继承自 NSObject 的类才能声明为@objc
我误解了什么吗?
java - 通过 Java 反射找到 Scala 类型的伴生对象的可靠方法是什么?
我正在编写 Java(不是 Scala)代码,其中有一个 JavaClass
参考,指的是 Scala 类型T
:
我现在想通过仅使用 Java 反射来发现 JavaClass
引用和对应的单例实例,object T
然后调用该伴随对象中的方法。
我对生成的 Scala 代码进行了逆向工程,以编写以下 Java 代码:
这看起来不是很健壮——它可能会随着未来的 Scala 编译器随时改变。有没有更健壮的方法?我也愿意调用 Scala API(来自 Java)来发现伴随实例。