Objective-C语法之动态类型常用方法总结


        对象在运行时获取其类型的能力称为内省。内省可以有多种方法实现。

       1、 判断类型

        -(BOOL) isKindOfClass: classObj   判断对象是否是这个类或者这个类的子类的实例。

        -(BOOL) isMemberOfClass: classObj 判断是否是这个类的实例,不管是否是这个类的子类的实例。

         

         2、判断是否实现方法

         -(BOOL) respondsToSelector: selector    判读实例是否有这样方法

         +(BOOL) instancesRespondToSelector:  判断类是否有这个方法。此方法是类方法,不能用在类的对象

         

         C++ 使用的是强类型:对象必须符合其类型,否则不能通过编译。

         在 Objective-C 中,id类型类似于(void*) ,可以指向任何类的实例。而不需要强制转换。

         

         

         3、判断是否实现了某个接口

         + (BOOL)conformsToProtocol:(Protocol *)protocol;

         类名 conformsToProtocol:NSProtocolFromString(@"协议名称")

         

        if([NSObject conformsToProtocol:NSProtocolFromString(@"NSCoding")])

        {

        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值