在 NativeScript 中从 cocoapods 调用方法

Calling methods from cocoapods in NativeScript

我正在尝试在使用 pod 的 NativeScript 中实现一个插件,并且 pod 具有以下方法。

// basic usage
[self.view makeToast:@"This is a piece of toast."];

// toast with a specific duration and position
[self.view makeToast:@"This is a piece of toast with a specific duration and position." 
            duration:3.0
            position:CSToastPositionTop];

基本用法如下:

frameModule.topmost().ios.controller.view.makeToast("sometext");

但是当我尝试针对特定持续时间和位置发送多个参数时

frameModule.topmost().ios.controller.view.makeToast(toastObject.text, 5.0, CSToastPositionTop);

我在控制台中得到这个异常

Actual arguments count: "3". Expected: "1".

我们如何发送多个参数来调用原生函数?

NativeScript iOS 运行时为本机存在的各种参数排列创建多个 JavaScript 函数。

我的语法可能不完美,但我希望它能工作:

frameModule.topmost().ios.controller.view.makeToastWithDurationPosition(
  "This is a piece of toast...", 3, CSToastPositionTop);

我为了运行原生函数通过JS你得看看给你暴露了什么方法

TNS_TYPESCRIPT_DECLARATIONS_PATH="${pwd}/typings" tns build ios

以上命令为所有可用模块生成一个包含 .ts 文件的文件夹。该文件包含了我们可以在 JS 中使用的方法。

在我的例子中,我必须使用 CSToastManager.setDuration()

来设置持续时间

原刊请参考此link https://github.com/NativeScript/NativeScript/issues/2653