zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    【转】 Android代码混淆之混淆规则
    【转】java虚拟机机制总结
    【转】图解 HTTP协议/IIS 原理及ASP.NET运行机制浅析
    【转】Android 消息机制
    Android-eclipse-NDK&JNI
    【转】大型网站系统架构的演化
    【转】Android开发必知--WebView加载html5实现炫酷引导页面
    【转】Java虚拟机详解----GC算法和种类
    网页中缩略图的意义
    网页开关灯效果
  • 原文地址:https://www.cnblogs.com/shujucn/p/7481470.html
Copyright © 2011-2022 走看看