0
Создание класса с RemoteClass metategFlex - сохранение Сериализированной ArrayCollection объектов в файле
[RemoteClass]
public class Result
{
public function Result(){}
}
Функции для записи в файле
public function writeData(object:Object):void
{
var file:File = File.desktopDirectory.resolvePath("data.txt");
if (file.exists)
file.deleteFile();
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeObject(object);
fileStream.close();
}
Функции для чтения из файла
public function readData():Object
{
var file:File = File.desktopDirectory.resolvePath("data.txt");
if(!file.exists)
return 0;
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
var obj:Object = fileStream.readObject();
fileStream.close();
return obj;
}
Функция, когда применение инициализации
public function initApplication():void
{
writeData(new Result()); // write object to file.
var result:Result = readData() as Result; // create Result class object and initializing it data from file
var array:ArrayCollection = new ArrayCollection(); // create collection and fill it objects of Result class
array.addItem(new Result());
array.addItem(new Result());
array.addItem(new Result());
writeData(array); // writing collection in file
var arr:ArrayCollection = readData() as ArrayCollection; // initializing new collecion of collection from file.
}
Вот проблема. Возвращенная коллекция с объектами типа объекта. Как я могу получить коллекцию объектов типа результата? Плохой путь ниже
for each (var object:Object in arr)
{
object = object as Result;
}
я могу получить только один экземпляр класса Result, но не может получить выдержанные массив объектов результата. – dkhmarnyi
Попробуйте также зарегистрировать ArrayCollection. Насколько мне известно, существует только несколько типов, которые вам, возможно, не нужно регистрировать. – Ingweland
Спасибо большое! Функция RegisterClassAlias () или [RemoteObject] работает! – dkhmarnyi