您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页xcode调试 打印 格式化输出对象属性

xcode调试 打印 格式化输出对象属性

来源:伴沃教育

1 重写 - (NSString *)description{} 方法 打印完整日志

2 重写 - (NSString *)debugDescription{} 方法控制台打印

- (NSString *)description{

NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:0];

uint count;

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

for (int i = 0 ; i < count; i++) {

objc_property_t property = properties[i];

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

id value = [self valueForKey:name]?:@"nil";

[dict setObject:value forKey:name];

}

free(properties);

return [NSString stringWithFormat:@"<%@:%p>%@",[self class],self,dict];

}

- (NSString *)debugDescription{

NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:0];

uint count;

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

for (int i = 0 ; i < count; i++) {

objc_property_t property = properties[i];

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

id value = [self valueForKey:name]?:@"nil";

[dict setObject:value forKey:name];

}

free(properties);

return [NSString stringWithFormat:@"<%@:%p>%@",[self class],self,dict];

}

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务