我在 FlashDevelop 下的仅 AS 项目中遍历使用 flash.display.Loader 加载的 SWF 的子项。
在对象上调用 flash.utils.getQualifiedClassName(obj) 会返回“mx.core::UITextField”,虽然它是 flash.text.TextField 的子类,但调用(obj 是 flash.text.TextField)会返回 false。
对此有何见解?难道我做错了什么?
我在 FlashDevelop 下的仅 AS 项目中遍历使用 flash.display.Loader 加载的 SWF 的子项。
在对象上调用 flash.utils.getQualifiedClassName(obj) 会返回“mx.core::UITextField”,虽然它是 flash.text.TextField 的子类,但调用(obj 是 flash.text.TextField)会返回 false。
对此有何见解?难道我做错了什么?
您使用 flash.utils.getQualifiedClassName(obj) 请求类名。UITextField 类扩展了 flash.text.TextField 类。因此该类是 UITextField 而不是 TextField。
这样想
class TextField
{
}
class UITextField extends TextField
{
}
您需要使用 getQualifiedSuperclassName() 来获取 TextField
看起来,问题是(像往常一样)我自己的代码而不是 IS 运算符。下次我会在发布之前更加小心并仔细检查我的代码。 对不起,垃圾邮件...