【Object-C】判断指针类型,isKindOfxxx

判断指针变量实际指向的对象可以是否为某个类、某个子类的实例,如下方法:

-(Bool)isKindOfClass:className    判断是否为对象是否为ClassName或其子类的实例
-(Bool)isSubclassOfClass:ClassName  判断是否为ClassName的子类实例
-(Bool)isMemberOfClass: ClassName  判断对象是否属于某个子类
//
//  main.m
//   强制类型转换
//
//  Created by mac on 14-11-29.
//  Copyright (c) 2014   mac. All rights reserved.
//

#import  <Foundation/Foundation.h>
int  main( int  argc,  const  char  * argv[]) {
   
  @autoreleasepool  {
        // insert code here...
        //  声明 hello 时使用 NSObject 类,则 hello 的编译时类型是 NSObject
       
  // NSObject 是所有类的父类  ,  hello 变量的实际类型是 NSString
       
  NSObject * hello =  @"Hello" ;
       
  //  使用 isKindOfClass 判断该变量所指的对象是否为指定类、及其子类的实例
        NSLog(@"字符串是否是NSObject类的实例:%d" , ([hello isKindOfClass:[NSObject  class]]));
      // 返回true
        NSLog(@"字符串是否是NSString类的实例:%d" , ([hello isKindOfClass:[NSString class]]));
         //  返回 false
        NSLog(@"字符串是否是NSDate类的实例:%d" , ([hello isKindOfClass:[NSDate class]]));
         NSString * a =  @"Hello" ;
       
  //  返回 false
        NSLog(@"a是否是NSDate类的实例:%d"  , ([a isKindOfClass:[NSDate class]]));
   }
   
  return  0 ;
}

===>>
2014-11-29 15:36:21.445  强制类型转换 [1155:303]  字符串是否是 NSObject 类的实例: 1
2014-11-29 15:36:21.445
  强制类型转换 [1155:303]  字符串是否是 NSString 类的实例: 1
2014-11-29 15:36:21.445
  强制类型转换 [1155:303]  字符串是否是 NSDate 类的实例: 0
2014-11-29 15:36:21.446
  强制类型转换 [1155:303] a 是否是 NSDate 类的实例: 0
Program ended with exit code: 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值