zoukankan      html  css  js  c++  java
  • object c runtime中类类型和消息支持检查

    和c++与Java一样,objective c也支持run-time的类类型检查
    - (BOOL) isKindOfClass: classObj 
    用于判断该对象是否属于某个类或者它的子类。

    // true 

    如: if( [sq isKindOfClass: [Rectangle class]] == YES ) {} 

    - (BOOL) isMemberOfClass: classObj
    用于判断该对象是否属于某个类(这里不包括子类)

    // true 

    如: if( [sq isMemberOfClass: [Rectangle class]] == NO ) {} 

    - (BOOL) respondsToSelector: selector
    用于判断该对象是否能响应某个消息。这里,我们可以将@selector后面带的参数理解为C++中的函数指针。
    注意:1)不要忘了@ 2)@selector后面用的是(),而不是[]。3)要在消息名称后面跟:,无论这个消息是否带参数。

    // true

    如: if( [sq respondsToSelector: @selector(setSize:)] == YES ) {} 

    + (BOOL) instancesRespondToSelector: selector
    用于判断该类是否能响应某个消息。这是一个静态函数。

    // true

    如: if( [Square instancesRespondToSelector: @selector(setSize:)] == YES ) {}

  • 相关阅读:
    Linux cat
    Linux touch
    Win10 UAP 绑定
    Win10 资源文件
    Win10 启动模拟器
    Win10 安装Vs2015 社区版和企业版各个问题汇总
    Win10 开发者模式开启
    android 入门-本地化语言
    android 入门-基础了解
    wp8 入门到精通 定时更新瓷贴
  • 原文地址:https://www.cnblogs.com/luyinghuai/p/1957406.html
Copyright © 2011-2022 走看看