从NativeScript中的cocoapods调用方法

时间:2016-08-31 14:00:05

标签: javascript objective-c nativescript angular2-nativescript

我正在尝试在NativeScript中实现一个使用pod和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);

我在控制台

中遇到此异常
  

实际参数计数:" 3"。预期:" 1"。

我们如何发送多个参数来调用本机函数?

2 个答案:

答案 0 :(得分:1)

我命令通过JS运行本机函数,你必须看看有哪些方法暴露给你。

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

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

在我设置持续时间的情况下,我必须使用CSToastManager.setDuration()

原始问题请参阅此链接 https://github.com/NativeScript/NativeScript/issues/2653

答案 1 :(得分:0)

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

我可能没有完美的语法,但我希望这可以工作:

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