改变字符串会使整个脚本在Titanium中不起作用

Changing a string makes whole script not work in Titanium

本文关键字:Titanium 不起作用 脚本 字符串 改变      更新时间:2023-09-26

所以我有一个脚本,创建一个简单的表视图,但改变一个简单的字符串似乎有激烈的后果。

这可以工作(我已经剥离了相关部分):

data = [];
db = Ti.Database.install('../data.sqlite', 'person');
rows = db.execute('SELECT * FROM person');
while (rows.isValidRow()) {
  data.push({
    title: rows.fieldByName('first_name'),
    hasChild: true,
    c_id: rows.fieldByName('C_ID')
  });
  rows.next();
}
tableview = Titanium.UI.createTableView({
  data: data
});
...
win.add(tableview);
...

但是将title: rows.fieldByName('first_name'),更改为title: rows.fieldByName('first_name') + rows.fieldByName('last_name'),会抛出错误Result of expression 'win.add' [] is not a function. at persons.js (line 32)(第32行是win.add(tableview))

唯一的区别是这一行,但它使整个脚本失败。

提前致谢
弗雷德

你试过在它们之间放一个空白吗?

title: rows.fieldByName('first_name') + ' ' + rows.fieldByName('first_name')

如果你从桌子上拿另一张桌子呢?比如last_name之类的,它也会崩溃吗?

我发现了这个问题,这是因为我使用的coffeescript将代码包装在函数包装器中,这会导致问题(以某种方式)。删除函数包装修复了它,但现在我不能再使用coffeescript了。