IPHONE 获得类名或 属性列
来源:互联网 发布:linux ntp客户端配置 编辑:程序博客网 时间:2024/06/04 18:38
属性类型和相关函数
属性
(Property)类型定义了对描述属性的结构体objc_property
的不透明的句柄。
typedef struct objc_property *Property;
您可以使用函数class_copyPropertyList
和protocol_copyPropertyList
来获得类(包括范畴类)或者协议类中的属性列表:
objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount)
objc_property_t *protocol_copyPropertyList(Protocol *proto, unsigned int *outCount)
例如,有如下的类声明:
@interface Lender : NSObject {
float alone;
}
@property float alone;
@end
您可以象这样获得它的属性:
id LenderClass = objc_getClass("Lender");
unsigned int outCount;
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);
您还可以通过property_getName
函数获得属性的名字:
const char *property_getName(objc_property_t property)
函数class_getProperty
和protocol_getProperty
则在类或者协议类中返回具有给定名字的属性的引用:
objc_property_t class_getProperty(Class cls, const char *name)
objc_property_t protocol_getProperty(Protocol *proto, const char *name, BOOL isRequiredProperty, BOOL isInstanceProperty)
通过property_getAttributes
函数可以获得属性的名字和@encode编码
。关于类型编码的更多细节,参考“类型编码“一节;关于属性的类型编码,见“属性类型编码”及“属性特征的描述范例”。
const char *property_getAttributes(objc_property_t property)
综合起来,您可以通过下面的代码得到一个类中所有的属性。
id LenderClass = objc_getClass("Lender");
unsigned int outCount, i;
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount);
for (i = 0; i < outCount; i++) {
objc_property_t property = properties[i];
fprintf(stdout, "%s %s\n", property_getName(property), property_getAttributes(property));
}
- IPHONE 获得类名或 属性列
- 获得数据库列名
- PL/SQL Developer_如何快速获得表名或列名的文本形式
- PL/SQL Developer_如何快速获得表名或全部列名的文本形式
- SQL.ResultSet 获得列名
- 根据datatable获得列名
- 根据datatable获得列名
- 根据datatable获得列名
- C# 利用反射,遍历获得一个类的所有属性名,方法名,成员名.
- hibernate根据实体类获得主键属性名
- 反射获得属性名/属性类型
- 对应SQL数据库 关系转对象,表名-类名 ,列名-属性, DeskInfo餐桌类
- mysql 增加列,修改列名、列属性,删除列
- 获得一张表中所有列名
- 获得已知表的所有列名
- 获得数据表的所有列名
- c# 获得方法的所属类(或调用者)的类名,方法名
- 获得当前方法或页面的命名空间、类名和方法名
- 深入理解java的finalize
- 彻底搞定C指针-函数名与函数指针
- 调用系统提示音教程
- SQL Server 查询时NULL值问题
- SQL Server2005杂谈(3):四个排名函数(row_number、rank、dense_rank和ntile)的比较
- IPHONE 获得类名或 属性列
- 诊断索引健全性的新工具
- 关于软件的生命周期
- 程序性能分析-使用vs2008的分析工具
- SQL日志问题数据库 'xxx' 的日志已满
- wcf跨域调用xml
- 智能手机主流系统解析:MeeGo触控操作体验堪比Android和iOS智能系统
- 高并发高流量网站架构
- Visual Studio 调试小技巧(1)-根据字符串内容添加断点