我在 OS X 上使用最新的 Mobile SDK (1.6)。我有这段代码:
var globalArray = [
{title:'foo',value:'yes'},
{title:'bar',value:'no'}
];
Titanium.App.Properties.setList('globalArrayProperty',globalArray);
Titanium.App.Properties.getList('globalArrayProperty')[0].value = 'it works!';
Titanium.API.info('first value : ' + Titanium.App.Properties.getList('globalArrayProperty')[0].value);
我简化了它,以便我可以向您解释问题所在。所以,我创建了一个包含几个对象的数组。然后,我根据这个数组设置一个属性,然后影响第一个对象的新值。但是当我调用显示属性时,而不是显示“它有效!” 字符串,它显示第一个“是”。
我尝试添加几行:
Titanium.App.Properties.setList('globalArrayProperty',globalArray);
var arr = Titanium.App.Properties.getList('globalArrayProperty');
arr[0].value = 'it works!';
// This works
Titanium.API.info('first value with arr: ' + arr[0].value);
// This doesn't work
Titanium.API.info('first value : ' + Titanium.App.Properties.getList('globalArrayProperty')[0].value);
所以中间 var 'arr' 获取属性,设置它但不能对属性应用修改。
我错过了什么吗?
谢谢,
问候。