iOS 动态绑定和确定类型api

举报
福州司马懿 发表于 2021/11/19 06:58:38 2021/11/19
【摘要】 id是公用的对象类型,它可以用来存放任何类的对象。 它怎么知道调用哪一个类的方法呢?因为Objective-C的运行时,环境一直会对"对象属于哪一个类"进行追踪, 基于动态类型和动态绑定的概念,系统会对对象的类做出正确的决定,系统在运行的时候决定调用哪一个方法,而不是在编译的时候。 确认类型API方法   &nbsp...

id是公用的对象类型,它可以用来存放任何类的对象。

它怎么知道调用哪一个类的方法呢?因为Objective-C的运行时,环境一直会对"对象属于哪一个类"进行追踪, 基于动态类型和动态绑定的概念,系统会对对象的类做出正确的决定,系统在运行的时候决定调用哪一个方法,而不是在编译的时候。


确认类型API方法                                                                                                                       功能

-(BOOL)isKindOfClass: class-object                                                                    判断对象是否是某一种类(包括其父类)

-(BOOL)isMemberOfClass: class-object                                                              判断对象是否是某一种类的实例不包括其父类

-(BOOL)respondsToSelector: selector                                                                 判断对象是否有实现某个方法

+(BOOL) instancesRespondToSelector; selector                                                判断类的实例是否有实现某个方法

+(BOOL) isSubclassOfClass: class-object                                                          判断一个类是否是某个类的子类

-(id) performSelector: selector                                                                               让对象呼叫指定的方法

-(id) performSelector: selector withObject: object                                                 让对象呼叫指定的方法并且带有1个参数

-(id) performSelector: selector withObject: object1 withObject: object2               让对象呼叫指定的方法并且带有2个参数

文章来源: blog.csdn.net,作者:福州-司马懿,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/chy555chy/article/details/51440623

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。