в моей текущей программе у меня есть класс, который действует как контейнер для соответствующих данных. Допустим, это класс Person
. Person
имеет закрытый атрибут myAge:int
, который устанавливается при запуске программы. Кроме того, Person добавляется в массив и сохраняется. Затем вызываются все люди из массива и прослеживаются возрасты. Вот основной код интереса:
// In the Document class.
registerClassAlias("Person", Person);
registerClassAlias("AddressBook", AddressBook);
myAddressBook = new AddressBook();
myAddressBook.addNewPerson(75);
// In the AddressBook class when a new AddressBook is created:
// I load the addressEntries, which is an array that will contain instances of Person class.
sharedObjectAddressEntries = SharedObject.getLocal("storedAddressEntries");
if(sharedObjectAddressEntries.data.storedAddressEntries != null)
{
addressEntries = sharedObjectAddressEntries.data.storedAddressEntries;
}
else
{
addressEntries = new Array();
}
// This is what I do to add a Person to the array:
var aPersonEntry:Person = new Person();
aPersonEntry.addAge(anAge); // This just sets private field to anAge.
addressEntries.push(aPersonEntry);
saveStoredPeople();
//This is how I save them:
sharedObjectAddressEntries.data.storedAddressEntries = addressEntries;
sharedObjectAddressEntries.flush();
И после этого я перебираю массив для отображения каждого возраста. Важно отметить, что только возраст, установленный во время текущей загрузки программы. Все из предыдущих прогонов сохраняются в том, что массив все еще заполнен людьми, но все их возрасты теперь установлены на 0.
Буду признателен за любую помощь в этом, ничто из того, что я нашел, не поможет.