Type Introspection(类型的自查)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
静态的类型也不总是合适的。 例如,当你在一个列表或者其它类似的结构中存储很多不同类型的对象的时候。在此种情况下,如果你想发一些某个类型的对象才能相应的消息,你就需要手动去做类型的检查。
NSObject类提供了一个方法可以帮你做这件事,isMemberOfClass
方法,请看如下代码:
if ([namedObject isMemberOfClass: specificClass] == YES)
{
// code here
}
上述代码中,如果namedObject
是specificClass
类子类的对象,将返回false结果,因为isMemberOfClass
是精准匹配。如果你仅仅是想知道namedObject
是不是specificClass
类的子孙的对象,那还有一个方法可以满足你,它就是isKindOfClass
方法,请看如下代码:
if ([namedObject isKindOfClass: specificClass] == YES)
{
// code here
}
当然,还有一些其它的方法来确定namedObject
对象和specificClass
类的关系,我们将在后面的Advanced Messaging(高级消息)中再予以讨论。
在线练习
{$ activeFileHint $}