设置属性列表与Appcelerator的钛
问题描述:
我与OS X的最新的移动SDK(1.6)工作 我有这样一段代码:设置属性列表与Appcelerator的钛
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);
所以中间变种“的常用3”获取的属性,设置,但在财产不能应用修改。
我错过了什么吗?
谢谢,
问候。
答
我认为你需要更新阵列
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);
// save changes to property list
Titanium.App.Properties.setList('globalArrayProperty',arr);
// This doesn't work
Titanium.API.info('first value : ' + Titanium.App.Properties.getList('globalArrayProperty')[0].value);
之后再次设置属性列表