獲得類的屬性
1、獲取類的屬性方法
OBJC_EXPORT objc_property_t *class_copyPropertyList(Class cls, unsigned int *outCount)
OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0);
2、獲得屬性的值
OBJC_EXPORT const char *property_getName(objc_property_t property)
OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0);
例子:(把某個類屬性轉換成字典)
- (NSDictionary *)getObjectData:(id)obj
{
NSMutableDictionary *dic = [NSMutableDictionary dictionary];
unsigned int propsCount;
objc_property_t *props = class_copyPropertyList([obj class], &propsCount); //獲得屬性列表
for (int i = 0; i < propsCount; i++) {
objc_property_t prop = props[i];
NSString *propName = [NSString stringWithUTF8String:property_getName(prop)]; //獲得屬性的名稱
id value = [obj valueForKey:propName]; //kvc讀值
if (value == nil) {
value = [NSNull null];
}
else {
value = [self getObjectInternal:value]; //自定義處理陣列,字典,其他類
}
[dic setObject:value forKey:propName];
}
return dic;
}
相關文章
- python 獲取類的屬性Python
- 揭秘Java反射:如何輕鬆獲取類的屬性及父類屬性Java反射
- 獲取類屬性值,當前類,父類
- C#+arcengine獲得柵格資料的屬性表C#
- iOS 執行時獲取類的所有屬性iOS
- 如何在TypeScript程式碼裡獲得HTML元素的css屬性TypeScriptHTMLCSS
- C# 隨機給一個全部資訊都未知的類型別,如何獲取該類的類名、屬性個數、屬性名、屬性的資料型別、屬性值?C#隨機資料型別
- 獲取影像的屬性
- Python 類的屬性與例項屬性Python
- js如何獲取給定屬性的屬性值JS
- Java常見的系統屬性值及如何通過Java程式設計獲得系統屬性值Java程式設計
- opencv 獲取影像的屬性OpenCV
- Python 類屬性的理解Python
- Python列印類的屬性Python
- javascript獲取物件直接量中的屬性和屬性值JavaScript物件
- Python的tkinter獲取元件屬性和設定元件屬性Python元件
- 如何獲取 C# 類中發生資料變化的屬性資訊C#
- js如何獲取某一類type屬性值表單元素JS
- 獲取物件屬性型別、屬性名稱、屬性值的研究:反射和JEXL解析引擎物件型別反射
- 類的結構之一:屬性
- 類的靜態屬性和方法
- Scala的類、屬性、物件欄位物件
- javascript中各類的prototype屬性JavaScript
- Delphi 類的靜態屬性 (轉)
- 關於Python類屬性與例項屬性的討論Python
- TypeScript 類靜態屬性TypeScript
- 在url中通過屬性名獲取屬性值
- 父類和子類物件的獲取值的方式驗證,透過父類屬性的方式獲取不到值,需要使用get方法物件
- unity SystemInfo類 獲得電量batteryUnityBAT
- js獲取元素的方法與屬性JS
- 視窗屬性的獲取函式函式
- Python 動態新增例項屬性,例項方法,類屬性,類方法Python
- JavaScript 獲取 checked 屬性值JavaScript
- javascript如何獲取屬性值JavaScript
- 深入理解JavaScript類與物件:揭秘類欄位和靜態屬性的妙用,js靜態屬性和例項屬性JavaScript物件JS
- C#反射設定屬性值和獲取屬性值C#反射
- js 物件方法、類方法、原型方法的區別;私有屬性、公有屬性、公有靜態屬性的區別JS物件原型
- Java學習之類的屬性(轉)Java