object_isClass

object_isClass 判断是否是一个不为空的类对象

/** 
 * Returns whether an object is a class object.
 * 
 * @param obj An Objective-C object.
 * 
 * @return true if the object is a class or metaclass, false otherwise.
 */
OBJC_EXPORT BOOL object_isClass(id obj)
    __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0);


#import "ViewController.h"
#import <objc/runtime.h>
#import "Person.h"
#import "Dog.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    
    Person * p1 = [[Person alloc] init];
    
    BOOL isp1 = object_isClass([p1 class]);
    
    Person * p2;
    
    BOOL isp2 = object_isClass([p2 class]);
    
    NSString * p3 = @"test";
    
    BOOL isp3 = object_isClass([p3 class]);
    
    NSLog(@"%i", isp1);
    
    NSLog(@"%i", isp2);
    
    NSLog(@"%i", isp3);
    
}

输出:


你可能感兴趣的:(ios,Runtime,object_isClass)