是否可以將一個對象實例賦予一個函數,並且該函數返回此實例的所有屬性值?該功能應該對任何類返回所有屬性值的函數
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