首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数组传递给Flurry的setAge (Cordova)

将数组传递给Flurry的setAge (Cordova)
EN

Stack Overflow用户
提问于 2014-08-18 20:55:02
回答 1查看 119关注 0票数 1

我正在为客户端构建一个应用程序,该应用程序具有多个年龄范围,用户可以随意选择。例如,我有一个标有18-24岁年龄范围的按钮.我的问题是,是否允许将数组中的多个整数传递给window.plugins.flurry.setAge();

我有以下代码:

代码语言:javascript
复制
var setAge = function(low,high) {
    var ageLow = low;
    var ageHigh = high;
    var age = [];  
    while(ageLow <= ageHigh){
        age.push(ageLow++)
    }
    window.plugins.flurry.setAge(age);
};

$('#set-age-one').on('click', function() {
    setAge(18,24);
});

当在Xcode中查看are的详细模式时,我会得到确认,18-24的值确实是正确设置的。但是,它的后续是AppName[31368:60b] -[__NSArrayM integerValue]: unrecognized selector sent to instance 0x10ae1bd10的错误代码

这不会以任何方式终止或破坏该应用程序,但我想知道这是否会适当地输出到用户仪表板上的Flurry的受众>年龄部分。我可以等6-8个小时才能看到仪表板的更新和发现,但我宁愿早点知道。

编辑:,这是我正在使用的插件的链接

另外,以下是Xcode的完整摘录:

代码语言:javascript
复制
2014-08-18 13:42:49.500 AppName[31904:60b] Setting Flurry Age to (
    18,
    19,
    20,
    21,
    22,
    23,
    24
)
2014-08-18 13:42:49.500 AppName[31904:60b] -[__NSArrayM integerValue]: unrecognized selector sent to instance 0x10aa00760

解决方案:如果有人在自己的项目中遇到此问题,下面的日志记录了一个年龄范围内的单个整数:

代码语言:javascript
复制
var setAge = function(low,high) {
    var ageLow = low;
    var ageHigh = high;
    while(ageLow <= ageHigh) {
        window.plugins.flurry.setAge(ageLow++);
    }
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-18 21:22:21

查看方法iOS代码setAge,您只能向该方法传递一个值。尽管JS端接受它作为一个数组[age],但这只供Cordova处理程序轻松地传递数据。

iOS方法引用:

代码语言:javascript
复制
int Age = [[command.arguments objectAtIndex:0]integerValue];

它只表示它正在将对象的第一个索引转换为真int。如果将数组作为对象的第一个索引传递,代码将失败,因为它不能将数组转换为int。

我建议将18-24更改为1824,这样就可以将年龄范围捕获为int,然后传递该字符串而不是int字符串数组。

此外,如果您需要捕获所有的值,您可以递归地为每个值调用setAge

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25371868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档