1、control里定义Event的类型STR
2、view内部不应该对model有引用,而是从外面传进来的
3、error while loading initial content的解决方案:<application xmlns="http://ns.adobe.com/air/application/1.5″>对应版本 flex sdk 3.0.0的改成 1.0
flex sdk 3.2 的改成 1.5
以后的版本也是同样方法.
4.添加库只,可以把swc文件复制到lib文件目录下,并在程序设置中,不用点"浏览",直接输入lib就可以了
5.flash ide中 指定src文件:设置源路径:./src/
导入swc文件,只到在"库目录"里,把swc文件所在的目录设置就行了.如:./lib/
6.发行的时候,一定要"导出发行版",否则文件很大
7.框架链接:合并到代码中,和运行时共享库的区别:合并到代码中只会生成一个SWF文件,和运行时共享库会生成多个SWF文件,但主文件很小
8.一个空的flex4项目,发行版的SWF文件大小已经有220K了,空的AS3项目,调用 AsWingManager.initAsStandard(this);生成的SWF有92K(不调用时为1K)
9.flex4项目,拖几个控件到舞台上,发布版的文件立即变成470K..
AS3项目,生成几个aswing组件,发布的SWF是100K
10.cairngorm官方例子:
(1)command如果不用delegate可以不implements response
(2)每个操作一个事件,事件名称常量不定义在事件类里,而是定义在control里
(3)business包中:
<?xml version="1.0″ encoding="utf-8″?>
<!– $Id: Services.mxml 3 2007-02-15 21:39:58Z $ –>
<cairngorm:ServiceLocator
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:cairngorm="com.adobe.cairngorm.business.*">
<mx:RemoteObject source="com.nagpals.examples.contact.Contact"
id="contactService"
destination="ColdFusion"
showBusyCursor="true"
>
</mx:RemoteObject>
</cairngorm:ServiceLocator>
ServiceLocator是一个单例类,就可以在delegate里引用了:
this.service = ServiceLocator.getInstance()["contactService"];
(4)VO里封装了对数据的添加删除等操作
(5)view里细分了很多模块,包括common包
(6)多个Event关联到同一个command,excues函数里再switch(event.type).这种情况下,command需要生成不同的response,而不是用父类的response
(7)CairngormEvent里有这么一个方法:
public function dispatch() : Boolean
{
return CairngormEventDispatcher.getInstance().dispatchEvent( this );
}
因此可以直接调用这个方法,来派发事件
(8)视图处理自己的事情(如特效),而不是交给command来处理.command的职责应该是处理与model相关的东西(如与后台交互,改变model)