【问题标题】:Calling methods from cocoapods in NativeScript从 NativeScript 中的 cocoapods 调用方法
【发布时间】:2016-08-31 14:00:05
【问题描述】:

我正在尝试在 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”。

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

【问题讨论】:

    标签: javascript objective-c nativescript angular2-nativescript


    【解决方案1】:

    我命令通过 JS 运行原生函数,你必须看看向你公开了哪些方法。

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

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

    在我设置 Duration 的情况下,我必须使用 CSToastManager.setDuration()

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 它没有用。我们必须看看 JS 中为我​​们公开了哪些方法。看我的回答
      猜你喜欢
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 2019-05-26
      相关资源
      最近更新 更多