冫^浩

博客园 首页 新随笔 联系 订阅 管理

Flex:

    IModelLocator:IModelInstance 接口声明公开元数据信息的函数,该元数据信息依赖于由 Adobe 应用程序建  模技术生成的值对象的实例状态。针对在模型中声明的每个实体,都会生成该接口的实现。与值对象对应的实例可通   过其_model属性进行访问。

IModelLocator公共方法:

  1,getAvailableProperties():IPropertyIterator返回由变体确定的该实例所有可用属性的名称。

  2,getDependantInvalidConstraints(propertyName:String):Array返回其值可能因 propertyName 更改而更改  的当前无效约束的数组。
  3,getIdentityMap():Object返回标识属性名称与其当前值的映射。
  4,getPropertyValidationFailureMessages(propertyName:String):Array返回与指定属性的当前失败验证集对应  的本地化错误消息数组。
  5,getStyle(propertyName:String):IStyle返回属性的样式对象。
  6,getValue(propertyName:String):*返回属性值
  7,isAvailable(propertyName:String):Boolean确定由变体确定的属性是否可用。
  8,setValue(propertyName:String, value:*):void设置属性值。
 
 
split方法:
    将 String 对象拆分为一个子字符串数组,方法是在所有出现指定 delimiter 参数的位置进行拆分。

    如果 delimiter 参数是正则表达式,即使向后跟踪可以找到与该位置匹配的非空子字符串,也仅考虑字符串给定位  置处的第一个匹配项。例如:

  var str:String = "ab"; var results:Array = str.split(/a*?/); // results == ["","b"] results =                    str.split(/a*/); // results == ["","b"].)

  如果 delimiter 参数是包含分组圆括号的正则表达式,则每次匹配 delimiter 时,会将分组圆括号的结果(包括任何  未定义的结果)连接到输出数组中。例如

  var str:String = "Thi5 is a tricky-66 example."; var re:RegExp = /(\d+)/; var results:Array =          str.split(re); // results == ["Thi","5"," is a tricky-","66"," example."]

  如果指定 limit 参数,返回的数组中具有的元素数将不多于指定数目。

  如果 delimiter 是空字符串、空正则表达式或者可以匹配空字符串的正则表达式,则字符串中的每一个字符都将输出为  数组中的一个元素。

  如果未定义 delimiter 参数,则会将整个字符串放入返回的数组的第一个元素中。

  参数:delimiter 指定拆分此字符串的位置的模式。此模式可以是任何类型的对象,但通常为字符串或正则表达式。如果   delimiter 不是正则表达式或字符串,则该方法在执行前会将其转换为字符串。
      limit 要放入数组中的最大项数。默认为允许的最大值。
  返回:一个子字符串的数组。
PopUpManager: PopUpManager singleton 类用于创建新的顶级窗口,还可以在位于所有其它可见窗口上面的层次中放置  或删除这些窗口。有关分层的说明,请参见 SystemManager。此类适用于 ComboBox 控件中的弹出对话框、菜单和  下拉列表等类似组件。PopUpManager 还可以提供模态,使弹出窗口下方的窗口无法接收鼠标事件;当用户在窗口外部  单击鼠标时,它还可以  提供一个事件,供开发人员选择退出窗口还是警告用户。

 JAVA:e.printStackTrace():打印异常,也可以用System.out.println(e);  

Detail:标识弹出的控件中单击的按钮。此属性只适用于包含多个按钮的控件。Alert 控件将此属性设置为下列常量之一:

  • Alert.YES
  • Alert.NO
  • Alert.OK
  • Alert.CANCEL

 

flash.events.EventDispatcher.addEventListener(type:String, listener:Function, useCapture:Boolean=false, priority:int=0, useWeakReference:Boolean=false):void
AddEventListener:
    使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和  优先级在显示列表中的所有节点上注册事件侦听器。

  AIR 运行时中的 JavaScript 代码使用此方法注册 AIR API 定义的事件的事件侦听器。对于其它 JavaScript 事件(如   DOM body 对象的 onload 事件),您可以像对浏览器中运行的内容一样使用标准事件处理技术。

  成功注册一个事件侦听器后,无法通过额外调用 addEventListener() 来更改其优先级。要更改侦听器的优先级,必须首  先调用 removeListener()。然后,可以使用新的优先级再次注册该侦听器。

  请记住,注册该侦听器后,如果继续调用具有不同 typeuseCapture 值的 addEventListener(),则会创建单独的侦听  器注册。例如,如果首先注册 useCapture 设置为 true 的侦听器,则该侦听器只在捕获阶段进行侦听。如果使用同一个  侦听器对象再次调用 addEventListener(),并将 useCapture 设置为 false,那么便会拥有两个单独的侦听器:一个在捕  获阶段进行侦听,另一个在目标和冒泡阶段进行侦听。

  不能只为目标阶段或冒泡阶段注册事件侦听器。这些阶段在注册期间是成对出现的,因为冒泡阶段只适用于目标节点的  始祖。

  如果不再需要某个事件侦听器,可调用 removeEventListener() 删除它,否则会产生内存问题。事件侦听器不会自动从  内存中删除,因为只要调度对象存在,垃圾回收器就不会删除侦听器(除非 useWeakReference 参数设置为 true)。

  复制 EventDispatcher 实例时并不复制其中附加的事件侦听器。(如果新近创建的节点需要一个事件侦听器,必须在创  建该节点后附加该侦听器。)但是,如果移动 EventDispatcher 实例,则其中附加的事件侦听器也会随之移动。

  如果在正在处理事件的节点上注册事件侦听器,则不会在当前阶段触发事件侦听器,但会在事件流的稍后阶段触发,如  冒泡阶段。

  如果从正在处理事件的节点中删除事件侦听器,则该事件侦听器仍由当前操作触发。删除事件侦听器后,决不会再次调  用该事件侦听器(除非再次注册以备将来处理)。

参数:
type 事件的类型。
listener 处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如下面的示例所示:。function(evt:Event):void

函数可以有任何名称。

useCapture 此参数适用于 SWF 内容所使用的 ActionScript 3.0 显示列表体系结构中的显示对象。确定侦听器是运行于捕获阶段还是目标阶段和冒泡阶段。如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。如果 useCapturefalse,则侦听器只在目标或冒泡阶段处理事件。要在所有三个阶段都侦听事件,请调用 addEventListener 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false
priority 事件侦听器的优先级。优先级由一个带符号的 32 位整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。
useWeakReference 确定对侦听器的引用是强引用,还是弱引用。强引用(默认值)可防止您的侦听器被当作垃圾回收。弱引用则没有此作用。

类级别成员函数不属于垃圾回收的对象,因此可以对类级别成员函数将 useWeakReference 设置为 true 而不会使它们受垃圾回收的影响。如果对作为嵌套内部函数的侦听器将 useWeakReference 设置为 true,则该函数将作为垃圾回收并且不再是永久函数。如果创建对该内部函数的引用(将该函数保存到另一个变量中),则该函数将不作为垃圾回收并仍将保持永久。

posted on 2013-11-25 14:41  冫^浩  阅读(291)  评论(0)    收藏  举报