`
on069on
  • 浏览: 10600 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

FLEX之对象拷贝

 
阅读更多

  1.如何使用ByteArray实现对Object执行复制: /** * copyObject * * @param * ob * @return * * **/ public static function copyObject(ob:*):* { var byteData:ByteArray = new ByteArray(); byteData.writeObject(ob); byteData.position = 0; return byteData.readObject(); } 2.如何通过ByteArray实现对更多复杂类型的存储和提取:
  (也就是俗称的序列化/反序列化 自定义对象) package { public class User { private var _firstName:String; private var _lastName:String; public function set firstName (firstName:String):void { _firstName = firstName; } public function set lastName (lastName:String):void { _lastName = lastName; } public function get firstName ():String { return _firstName; } public function get lastName ():String { return _lastName; } } } 
  将User实例存以二进制形式存储到服务器或者存储到本地的SharedObject中.如果你尝试将User的实例存储到ByteArray中并且以后会再次提取它,当读取它的时候,Flash Player将会在内部检索是否已经注册过名为User的类型,如果没有player 就会按照Object的类型来反序列法该对象。 var user:User = new User(); user.name = "Dante"; user.age = 25; //Out put: false trace(CommonUtil.copyObject(user) is User);   以上的例子将输出false。我们需要使用"registerClassAlias"来告知Flash player并注册User类型,以便Flash Player来自动反序列化User类型的实例. registerClassAlias("userTypeAlias", User); var user:User = new User(); user.name = "Dante"; user.age = 25; var item:User = CommonUtil.copyObject(user); trace(item.name, item.age); PS:需要注意的是一些基础类型是不能被序列化或反序列化为AMF.例如DisplayObject等.所以如果你想将一个MovieClip的实例序列化是行不通的。
分享到:
评论

相关推荐

    Flex 对象持久化

    总有人问我关于Flex对象序列化和持久化的问题,很多人认为对象不能拷贝到服务器,其实浅度的拷贝是可以做到的。

    flex fusionchart 破解

    5.将FusionChartsFlex\Charts下面的FusionCharts和FusionWidgets两个文件夹复制到flex_src目录下和web目录下,注意:在复制之前,先将FusionCharts文件夹的名字全部改成小写,即fusioncharts,也可以复制后在项目...

    flex3的cookbook书籍完整版dpf(包含目录)

    创建ArrayCollection的深度拷贝 13.12节. 用唯一的IDs标识数据对象 第十四章. 数据绑定(466) 14.1节. 绑定一个属性 14.2节. 绑定到一个函数 14.3节. 创建一个双向绑定 14.4节. 使用ActionScript来进行数据绑定 ...

    style:将样式对象转换为字符串

    将样式对象转换为字符串。 安装 $ npm install weo-edu/style 例子 // output: "margin-left:10px;flex:1;" style ( { marginLeft : '10px' , flex : 1 } ) 执照 麻省理工学院执照 版权所有:copyright:2015,Weo....

    django+mysql+vue从零开始到上线一个Demo下载网站(前后端完整源码).zip

    涉及技术要点:django: 安装,如何创建一... vue: css样式、 flex布局、vue模板语法、 vue生命周期、vue路由及传参、页面跳转、 组件属性及监听、route-view主子组件通讯、JSON对象操作、深拷贝; nignx: 配置发布网站

    java教务系统源码-UNR_IPS_AUS_TALLER_PROG_2-flex:一些带有期末考试的源代码文件,以及其他代码,来自公立大学学

    java教务系统源码UNR_IPS_AUS_TALLER_PROG_2-flex 一些带有期末考试的源代码文件,以及其他代码,来自公立大学学院的第三职业:“ Analista Universitario en Sistemas”:隶属于“罗萨里奥大学”的“ ...

    ActionScript开发技术大全

    2.2.2在FlexBuilder3下创建ActionScript3.0项目 15 2.3服务端部署 16 2.3.1安装JDK 16 2.3.2安装Tomcat服务器 18 2.3.3Tomcat集成RED5服务器 20 2.4安装VisualBasic6.0 22 2.5小结 23 第3章ActionScript3.0语法 24 ...

    ActionScript开发人员指南中文版

    ActionScript事件处理与早期版本事件处理的不同之处 事件流 事件对象 事件侦听器 事件处理示例:闹钟 第章:使用应用程序域 第章:显示编程 显示编程的基础知识 核心显示类 显示列表方法的优点 使用显示对象 处理显示...

    FrankKai.github.io:趁你还年轻的技术博客,主要包括前端,node,运维和随想,文章在issues。目前主要从事前端开发工作

    富文本编辑器复制拖拽图片 深入理解slot算法和shadow DOM 一些好用的模板引擎库 如何理解Range和Selection对象? 关于WAI-ARIA那些事儿 [译]HTML进阶之Content categories [译]HTML进阶之Data attributes [译]如何...

    深入理解css中的align-content属性

    设置对象: 这个属性是对她容器内部的项目起作用,对父元素进行设置。 取值:stretch:默认设置,会拉伸容器内每个项目占用的空间,填充方式为给每个项目下方增加空白。第一个项目默认从容器顶端开始排列。 XML/...

    Altium Designer Beta 19.0.10完整版安装包+安装教程+和谐文件

    在Draftsman中添加了新的传输线结构表对象,该对象填充了来自层堆栈管理器的阻抗计算数据。 25784 添加了绘图符号对象,用于表示焊接和粘合点。 25785 改进了在Draftsman中添加文本的过程,只需单击鼠标即可在默认...

    note:更加杂乱的个人笔记

    路漫漫其修远兮,得让子弹飞一会儿分门别类类型类型种类类型的判断类型的转换数据的深浅拷贝原型和原型链prototype和__proto__执行上下文栈、变量对象、作用域链、this执行上下文闭包变量提升v8垃圾回收call、apply...

    JavaScript30:Wes Bos(javascript30.com)提出的30个普通JS编码挑战,包括入门代码

    学习了复制对象和数组的不同方法 15. LocalStorage和事件委托 16. CSS文本阴影鼠标移动效果 17.无文章排序 18.减少字符串计数时间 用于减少总计视频总时间 19.虚幻网络摄像头的乐趣 20.本地语音识别

    最新AngularJS开发宝典视频教程 后盾网AngularJS培训视频教程 后盾网.txt

    ├最新AngularJS开发宝典—第012讲 函数使用方法大小写转换与对象深拷贝.mp4 ├最新AngularJS开发宝典—第013讲 函数使用对象扩充与数据遍历.mp4 ├最新AngularJS开发宝典—第014讲 json数据转换与本地存储及$scope...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 Ado.net 与NHibernate的关系? 动态创建数据库...

    Ho-My-Timer:让我知道约会之后的时间

    该项目是针对网站,它将仅在页面上显示带有视频背景的柜台以微笑,因为等待的对象实际上并不有趣。 ### Install要安装项目,只需将其复制并在root用户中进行bower install ,bower是事实;) 为了构建此接口,我们...

    好用的代码生成源码

    rapid-framework是一个以spring为核心的项目脚手架(或者称为胶水框架),框架将各个零散的框架(struts,strust2,springmvc,hibernate,ibatis,spring_jdbc,flex)搭建好,并内置一个代码生成器,辅助项目开发,可以生成...

    emWin5用户手册(中文)

    emWin 图形库 图形用户界面 版本 5.12 手册修订版 0 emWin V5.12 用户参考手册 © 1997 - 2011 SEGGER Microcontroller GmbH & Co....9 1 emWin 简介...................................................................

Global site tag (gtag.js) - Google Analytics