//
// DataBaseModel.m
// test_GCDAsyncSocket_01
//
// Created by jeffasd on 16/9/9.
// Copyright © 2016年 jeffasd. All rights reserved.
//
#import "DataBaseModel.h"
#import "MJExtension.h"
@implementation DataBaseModel
//MJExtensionLogAllProperties
-(NSString *)description
{
NSDictionary *dic = [self mj_keyValues];
__block NSString *str = [NSString string];
[dic enumerateKeysAndObjectsWithOptions:NSEnumerationReverse usingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
if ([dic.allKeys.firstObject isEqualToString:key]) {
str = [str stringByAppendingString:[NSString stringWithFormat:@"\r<%@-%p>\r", [self class], self]];
str = [str stringByAppendingString:[NSString stringWithFormat:@"%@ = %@\r", key, obj]];
}else{
str = [str stringByAppendingString:[NSString stringWithFormat:@"%@ = %@\r", key, obj]];
if ([dic.allKeys.lastObject isEqualToString:key]) {
str = [str substringWithRange:NSMakeRange(0, str.length - 1)];
}
}
}];
return str;
}
@end

本文介绍了一个使用Objective-C实现的数据模型类,该类利用了MJExtension框架来简化属性的管理和打印。通过重写description方法,文章展示了如何优雅地输出对象的所有属性。
482

被折叠的 条评论
为什么被折叠?



