前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ios 获取属性的类型

ios 获取属性的类型

作者头像
onety码生
发布于 2018-11-21 03:45:57
发布于 2018-11-21 03:45:57
2.9K00
代码可运行
举报
文章被收录于专栏:码生码生
运行总次数:0
代码可运行

如何在运行的时候动态获取到该属性的类型呢?

此方法获取属性的特性:property_copyAttributeValue

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unsigned int a;
        
objc_property_t * result = class_copyPropertyList(object_getClass(k), &a);

for (unsigned int i = 0; i < a; i++) {
    objc_property_t o_t =  result[i];
    NSLog(@"name: %@", [NSString stringWithFormat:@"%s", property_getName(o_t)]);
    NSLog(@"att: %@", [NSString stringWithFormat:@"%s", property_getAttributes(o_t)]);
    
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2018-06-07 15:32:59.252063+0800 runtime[17026:450201] name: height_i
2018-06-07 15:32:59.252217+0800 runtime[17026:450201] att: Ti,V_height_i
2018-06-07 15:32:59.252316+0800 runtime[17026:450201] name: height_d
2018-06-07 15:32:59.252365+0800 runtime[17026:450201] att: Td,V_height_d
2018-06-07 15:32:59.252404+0800 runtime[17026:450201] name: height_f
2018-06-07 15:32:59.252434+0800 runtime[17026:450201] att: Tf,V_height_f
2018-06-07 15:32:59.252452+0800 runtime[17026:450201] name: weight
2018-06-07 15:32:59.252498+0800 runtime[17026:450201] att: T@"NSNumber",R,N,V_weight
2018-06-07 15:32:59.252518+0800 runtime[17026:450201] name: name
2018-06-07 15:32:59.252546+0800 runtime[17026:450201] att: T@"NSString",&,V_name
2018-06-07 15:32:59.252573+0800 runtime[17026:450201] name: family
2018-06-07 15:32:59.252612+0800 runtime[17026:450201] att: T@"NSString",&,V_family

如上可以打印特性值:

  1. 特性以 , 隔开
  2. 特性第一个是类型
  3. 特性最后一个是 V_name
  4. 特性中间为属性的修饰

特性的类型的规定:

image.png

特性的属性的修饰规定为:

image.png

官方文档为:* Declared Properties

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.06.07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特性的类型的规定:
  • 特性的属性的修饰规定为:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档