iOS 动态绑定和确定类型api

本文详细介绍了Objective-C中的动态特性和相关API方法,解释了id类型如何用于存放任何类的对象,并通过动态类型和绑定机制来确定调用哪个类的方法。此外,还列举了用于确认类型和响应选择器的一系列实用API。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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个参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值