【轉】高效開發iOS系列(runtime篇) -- debug模式下使用po命令打印model的屬性和值(runtime + debugDescription)

#import//導入runtime頭文件

@implementationCommentModel

- (NSString*)description {

//初始化一個字典

NSMutableDictionary*dictionary = [NSMutableDictionarydictionary];

//得到當前class的所有屬性

uintcount;

objc_property_t*properties =class_copyPropertyList([selfclass], &count);

//循環并用KVC得到每個屬性的值

for(inti =0; i

objc_property_tproperty = properties[i];

NSString*name =@(property_getName(property));

idvalue = [selfvalueForKey:name]?:@"nil";//默認值為nil字符串

[dictionarysetObject:valueforKey:name];//裝載到字典里

}

//釋放

free(properties);

//return

return[NSStringstringWithFormat:@"<%@: %p> -- %@",[selfclass],self,dictionary];

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容