gpt4 book ai didi

javascript - 在 Javascript 中使用 Swift 的 self 访问 Swift 类变量和函数

转载 作者:搜寻专家 更新时间:2023-11-01 07:17:04 24 4
gpt4 key购买 nike

我有一个项目,我在其中从 Swift 类调用 JS 方法 function jsMethod(selfRef)。假设我们有一个 class A 从中调用此方法。 selfRef 是对 self 的引用,即当从 class A 调用时 selfRef 将持有对 self< 的引用 A 类

如何使用此 selfRef 访问变量或调用 class A 中的方法

最佳答案

您只能将那些派生自 NSObject 的对象发送给 JS。如果你的 A 类没有继承自 NSObject,它就不会像现在这样工作。您可以尝试以下方法之一:

  1. 将类转换为结构:您可以传递任何原始类型,因此支持结构。
  2. Inherit from NSObject:让您的类 A 继承自 NSObject。尽管您可能会失去 swift 的“敏捷性”,但这对大多数应用程序来说都无关紧要。 (swift 类不从 NSObject 继承是有原因的,但这是对不同问题的讨论。)
  3. Wrap the object:为您的 Swift 类编写一个适配器(或简单来说 - 一个包装器)并将适配器发送给 JS。适配器应该继承 NSObject。这将在 swift 代码中保持 Swift 的特性和性能,因为更改只会发生在与 JS 交互的层。 JS 会通过适配器中的相应函数调用原始对象上的方法。不要尝试从 JS 的包装器中拉出原始对象,因为这会导致崩溃。

关于javascript - 在 Javascript 中使用 Swift 的 self 访问 Swift 类变量和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41574234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com