是否可以将一个对象实例赋予一个函数,并且该函数返回此实例的所有属性值?该功能应该对任何类返回所有属性值的函数
0
A
回答
2
工作,这是解决方案:
unsigned int numberOfAttributs;
objc_property_t *attributes = class_copyPropertyList([obj class], &numberOfAttributes);
for (unsigned int i = 0; i < numberOfAttributes; i++) {
objc_property_t attribute = attributes[i];
NSString *attributeName = [NSString stringWithUTF8String: property_getName(attribute)];
NSLog(@"%@", attributeName);
id attributeValue = [obj valueForKey:attributeName];
NSLog(@"%@", attributeValue);
}
+0
谢谢你的帮助,我稍后会测试一下:) – user2421041
+0
为值,你可以试试: - [obj valueForKey:@“property_getName(attribute)”];试试吧,然后让我知道成功 –
+0
你可以添加一个检查并检查变量的类型! –
相关问题
- 1. ObjectToQuery函数只返回属性的值,但我想要所有的属性
- 2. 函数不返回JSON属性值 - node.js
- 3. 返回函数中的所有值,PHP
- 4. 如何从工厂函数中返回所有属性
- 5. 如何从函数返回所有值
- 6. MAX函数没有返回最大值,返回的所有值,而不是
- 7. 函数返回对象的属性
- 8. GetDirectoryEntry不返回所有属性
- 9. GetLocalValueEnumerator()不返回所有属性
- 10. 得到-itemproperty不返回所有属性
- 11. RetrieveMultiple不返回所有属性
- 12. 返回静态类的所有选定属性值
- 13. get_terms函数返回所有子类未返回所有结果
- 14. C#函数有没有标准的“永不返回”属性?
- 15. 匿名函数返回类属性? PHP
- 16. 性状作为函数的返回值
- 17. 函数和性能的返回值
- 18. 忽略用“warn_unused_result”属性声明的函数返回值
- 19. 所有的fork函数返回值有什么区别?
- 20. 返回非值属性
- 21. 动态返回属性值
- 22. 属性返回值错误
- 23. 返回值类属性
- 24. 如何从函数内的数组中返回所有值?
- 25. 返回数组的属性
- 26. 获取Python中的函数的所有可能的返回值
- 27. 在包含属性的函数中返回函数
- 28. Python函数返回函数构造的属性
- 29. 无法更改image.src属性+函数执行但不返回值
- 30. c#属性返回函数 - 从lambda获得值
注意,这样的代码通常只是坏架构的解决方法。虽然它通常用于调试或测试。 – Sulthan
什么@苏尔坦说。如果此代码和其他问题的答案超出调试或纯粹的学术好奇心使用,那么您正在走向一条将产生非常困难,非常脆弱的代码库的道路。 Objective-C根本不是为这种基于内省的编程设计的。 – bbum