Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 有没有办法得到一处房产';目标C中的s类型?_Objective C_Ios_Xcode - Fatal编程技术网

Objective c 有没有办法得到一处房产';目标C中的s类型?

Objective c 有没有办法得到一处房产';目标C中的s类型?,objective-c,ios,xcode,Objective C,Ios,Xcode,可能重复: 有没有办法在Objective-C中获取属性的类型?我可以像这样访问该属性: objc_property_t* properties = class_copyPropertyList(cl, &count); property_getName(properties[i]); 并获得如下名称: objc_property_t* properties = class_copyPropertyList(cl, &count); property_getName(pr

可能重复:

有没有办法在Objective-C中获取属性的类型?我可以像这样访问该属性:

objc_property_t* properties = class_copyPropertyList(cl, &count);
property_getName(properties[i]);
并获得如下名称:

objc_property_t* properties = class_copyPropertyList(cl, &count);
property_getName(properties[i]);

但我需要做的是得到类型。而且,在大多数情况下,该值将是
nil
,因此我不能仅仅通过调用
object\u getClass()

来获取该值,而不是在您似乎在问的意义上-在Objective-C中,类是无类型的;当处理“it's a class”以外的非C类型时,属性的类型在运行时是未知的。这就是为什么如果在视图控制器中执行以下愚蠢操作:

[self setValue:@3 forKey:@"view"];
当控制器试图将视图消息发送到
NSNumber
而不是通过键值编码机制发送时,您会看到引发的异常,因为您试图将非视图的内容放入不适当的属性中


解析
property\u getAttributes
只允许您将各种C文本类型与Objective-C对象类型区分开来。

这并不是您似乎在问的问题——在Objective-C中,类是无类型的;当处理“it's a class”以外的非C类型时,属性的类型在运行时是未知的。这就是为什么如果在视图控制器中执行以下愚蠢操作:

[self setValue:@3 forKey:@"view"];
当控制器试图将视图消息发送到
NSNumber
而不是通过键值编码机制发送时,您会看到引发的异常,因为您试图将非视图的内容放入不适当的属性中


解析
property\u getAttributes
只允许您将各种C文本类型与Objective-C对象类型区分开来。

请参见:;还请注意,查找您要查找的内容的好关键字是:objective-c reflection InspectionUse
property\u getAttributes(properties[i])
还请注意,objective-c的设计并不是为了支持这种级别的运行时动态行为。通常情况下,设计一个能够在代码中的正式API中捕获所需动态性的系统(而不是基于@proeprty或@encode生成的元数据)要好得多;还请注意,查找您要查找的内容的好关键字是:objective-c reflection InspectionUse
property\u getAttributes(properties[i])
还请注意,objective-c的设计并不是为了支持这种级别的运行时动态行为。通常情况下,设计一个能够在代码中的正式API中捕获所需动态性的系统(而不是基于@proeprty或@encode生成的元数据)要好得多。