#import <objc/runtime.h>
+ (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];//自定義處理數(shù)組,字典影斑,其他類
}
[dic setObject:value forKey:propName];
}
return dic;
}
+ (id)getObjectInternal:(id)obj
{
if([obj isKindOfClass:[NSString class]]
|| [obj isKindOfClass:[NSNumber class]]
|| [obj isKindOfClass:[NSNull class]])
{
return obj;
}
if([obj isKindOfClass:[NSArray class]])
{
NSArray *objarr = obj;
NSMutableArray *arr = [NSMutableArray arrayWithCapacity:objarr.count];
for(int i = 0;i < objarr.count; i++)
{
[arr setObject:[self getObjectInternal:[objarr objectAtIndex:i]] atIndexedSubscript:i];
}
return arr;
}
if([obj isKindOfClass:[NSDictionary class]])
{
NSDictionary *objdic = obj;
NSMutableDictionary *dic = [NSMutableDictionary dictionaryWithCapacity:[objdic count]];
for(NSString *key in objdic.allKeys)
{
[dic setObject:[self getObjectInternal:[objdic objectForKey:key]] forKey:key];
}
return dic;
}
return [self getObjectData:obj];
}
將NSObject對象轉(zhuǎn)換成NSDictionary
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門嘲碱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來金砍,“玉大人,你說我怎么就攤上這事麦锯∷〕恚” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵扶欣,是天一觀的道長鹅巍。 經(jīng)常有香客問我,道長料祠,這世上最難降的妖魔是什么骆捧? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮髓绽,結(jié)果婚禮上敛苇,老公的妹妹穿的比我還像新娘。我一直安慰自己梧宫,他們只是感情好接谨,可當我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塘匣,像睡著了一般脓豪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忌卤,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼牺弹!你這毒婦竟也來了浦马?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布辫封,位于F島的核電站硝枉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏倦微。R本人自食惡果不足惜妻味,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望欣福。 院中可真熱鬧责球,春花似錦、人聲如沸拓劝。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽郑临。三九已至栖博,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間厢洞,已是汗流浹背仇让。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- js將類數(shù)組對象轉(zhuǎn)換成數(shù)組對象 1陕靠,經(jīng)典的方法 var arr = Array.prototype.slice.c...
- 其實CAD類型的圖紙在網(wǎng)上一搜就搜出來很多迂尝,平時一般給我們也沒什么用處,有時候工作中遇到需要的時候才有可能用上那么...
- 將NSDate對象轉(zhuǎn)換成字符串的地方很多,其中不免會使用到NSDateFormatterStyle懦傍。今天對NSDa...
- 1 換回字符串var myObjectInJSON = myObject.toJSONString();//也沒有...