![]() |
|
||||||||||
|
|||||
|
Регистрация: Jul 2009
Сообщений: 95
|
public class BasicObject implements ICloneable { ... public function clone():ICloneable { var copier:ByteArray = new ByteArray(); copier.writeObject(this); trace(copier); copier.position = 0; var obj:BasicObject = BasicObject(copier.readObject());//Здесь выпадает исключение return obj; } ... } Trace(copier) выводит 2 спецсимвола(квадратики), несмотря на то, что класс содержит большое кол-во свойств. Как же мне скастовать? расчитываю на вашу помощь... спасибо. Добавлено через 15 минут Блин, всем так сложно? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 95
|
в гугле и я искать вроде как умею... я, кстати этот пример оттуда и взял, но все ранво спасибо, хотя бы за попытку..
У меня такое подозрение, что мой объект вообще не сериализауется... |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Похоже, не умеешь.
В статье по ссылке выделен вызов registerClassAlias(...), которого у тебя нет и который как раз и нужен для сериализации/десериализации объектов кастомных классов. Проверить, записалось ли что-либо в байтмассив можно по его длине.
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
[+1 10.12.10]
|
Привет. меня тоже интересует данная тема. Пытаюсь таким же способом получить копию объекта.
registerClassAlias("xPrint.engine.core.symbols", Symbol); var s:ISymbol = new Symbol("id","title", SymbolType.IMAGE_SYMBOL); clone(s); rivate function clone(source:Object):* { var copier:ByteArray = new ByteArray(); copier.writeObject(source); copier.position = 0; return(copier.readObject()); } Цитата:
|
|
|||||
|
Регистрация: Jul 2009
Сообщений: 95
|
при клонировании конструктор копируемого объекта не должен содержать параметров, т.е. должен быть конструктором по умолчанию.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
А чем не устраивает метод clone() в самом Symbol, возвращающий новый Symbol с теми же параметрами?
|
|
|||||
|
[+1 10.12.10]
|
tofflife, спасибо, теперь понятно.
to __etc. Устраивает, я прям в Symbol хотел реализовать этот способ клонирования. Но теперь ясно что не буду, из-за параметров конструктора. __etc, у Вас большой опыт. Подскажите этот способ(копирования) быстрее классического? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Медленнее, конечно, из-за сериализации/десериализации.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:49. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| клонирование AVM |
|
|