Я тоже с этим сталкивался.При добавлении массива в объект TiProxy (вид, окно, кнопка и т. Д.) Он не работает должным образом.Вам нужно манипулировать массивом «вне» прокси, а затем переустановить его.Я не знаю, является ли это ошибкой или просто ограничением свойств объектов TiProxy.Вот пример, который ведет себя так же на iOS под Titanium Mobile SDK 1.7.5:
var proxy = Ti.UI.createView(); //this can be any TiProxy object
proxy.someArray = [];
proxy.someArray.push( '1' );
proxy.someArray.push( '2' );
Ti.API.info("Array modified directly on TiProxy object" );
Ti.API.info(proxy.someArray );
var myArray = [];
myArray.push( '1' );
myArray.push( '2' );
proxy.someArray = myArray;
Ti.API.info("Array modified outside TiProxy object" );
Ti.API.info( proxy.someArray );
proxy.someArray.push( '3' );
Ti.API.info("This will be unchanged" );
Ti.API.info(proxy.someArray );
var changeArray = proxy.someArray;
changeArray.push('3');
proxy.someArray = changeArray;
Ti.API.info("This is how you must do it." );
Ti.API.info(proxy.someArray );
возвращает:
[INFO] Array modified directly on TiProxy object
[INFO] []
[INFO] Array modified outside TiProxy object
[INFO] [ 1, 2 ]
[INFO] This will be unchanged
[INFO] [ 1, 2 ]
[INFO] This is how you must do it.
[INFO] [ 1, 2, 3 ]
Узнать поведение на Android намного сложнее Ti.API.info(proxy.someArray );
просто возвращает ссылку на объект.