runtime-API-ivar

2023-09-19  本文已影响0人  Berning

1.获取成员变量/名称/类型/偏移量

    Ivar age_ivar = class_getInstanceVariable(NSPerson.class, "_age");
    const char *age_name = ivar_getName(age_ivar);
    const char *age_type = ivar_getTypeEncoding(age_ivar);
    
    /**
    @note For instance variables of type \c id or other object types, call \c object_getIvar
     and \c object_setIvar instead of using this offset to access the instance variable data directly.
    */
    ptrdiff_t age_offset = ivar_getOffset(age_ivar);
    NSLog(@"age_name:%s",age_name);
    NSLog(@"age_type:%s",age_type);
    NSLog(@"%td",age_offset);
    
    
     
}

上一篇 下一篇

猜你喜欢

热点阅读