【问题标题】:Titanium IOS app - unrecognized selector sent to instanceTitanium IOS 应用程序 - 无法识别的选择器发送到实例
【发布时间】:2013-09-25 14:32:43
【问题描述】:

我有一个适用于 Android 和 IOS 的应用程序。在 Android 上它可以正常工作,但在 IOS 上,我有这个错误:

[ERROR] :  Script Error {
[ERROR] :      backtrace = "#0 () at :0";
[ERROR] :      line = 197;
[ERROR] :      message = "-[TiUIViewProxy fireEvent:withObject:remove:thisObject:]: unrecognized selector sent to instance 0xeb07400";
[ERROR] :      sourceId = 303988736;
[ERROR] :      sourceURL = "file:///Users/Almudena/Library/Application%20Support/iPhone%20Simulator/7.0/Applications/380C4F68-33F0-4198-BAB4-B53FC5280609/APPNAME.app/views/interconexiones/InterconexionesSaldoGrafico2.js";
[ERROR] :  }

这很奇怪,因为我有视图,而 InterconexionesSaldoGrafico2 是一个返回视图的模块。

我第一次加载 InterconexionesSaldoGrafico2 工作正常,但第二次,我有上一个错误。

在这个模块中,我加载了一个 web 视图,错误点位于:

var loadWebView = function(e) {
    Ti.App.fireEvent('InitWebviewHTML5Step', {
        values : dataInterconexionesJson,
        dp : utils.getFactorTodp() //HERE
    });
};

我称这个方法为:

webviewHTML5StepPortrait.addEventListener('load', loadWebView);

你知道可能是什么错误吗?

非常感谢

更新

有时会发生异常,有时应用程序什么也没说就关闭了。

【问题讨论】:

    标签: ios webview titanium unrecognized-selector


    【解决方案1】:

    不知道是什么

    utils.getFactorTodp

    可以,但是如果您想传递函数而不对其求值,则必须删除括号。所以如果dp稍后被eventListener调用,将utils.getFactorTodp()替换为utils.getFactorTodp

    这样,您将引用该函数而不是尝试评估它。

    【讨论】:

    • 感谢您的回答。 utils.getFactorTodp() 是一个返回值的函数。我在 webview 中使用值(不是函数),所以我认为括号是正确的,不是吗?
    • 如果将函数替换为常量值或函数直接返回的值,是否会出现相同的错误?
    猜你喜欢
    • 2016-02-13
    • 2014-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    相关资源
    最近更新 更多