gpt4 book ai didi

iphone - 获取@interface 的所有变量名或属性

转载 作者:行者123 更新时间:2023-11-28 20:40:17 25 4
gpt4 key购买 nike

我想要 objective-c 中接口(interface)或类的所有变量名称或属性。

我能够使用 valueForKey: 消息动态获取和设置变量的值。

最佳答案

如果您希望获取某个类的所有“属性”,您可以利用 Objective-C 运行时来获取此数据:

unsigned int propertyCount, i;
objc_property_t *properties = class_copyPropertyList([self class], &propertyCount);

for(i = 0; i < propertyCount; i++)
{
objc_property_t property = properties[i];
NSString *propertyName = [NSString stringWithUTF8String:property_getName(property)];
}

free(properties);

使用此对象,您可以获得与给定属性关联的所有元数据。不过,这不适合胆小的人(它是一个基于 C 的 API)。确定有关每个属性的信息(例如它的策略和类型)并不简单。

关于iphone - 获取@interface 的所有变量名或属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8836857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com