Skip to content

Commit 71f94be

Browse files
committed
一些小问题
1.某些属性的懒加载转为init初始化 2.过期方法处理 3.用更简单的方法过滤NSObject自动生成的属性
1 parent e908cea commit 71f94be

File tree

5 files changed

+11
-21
lines changed

5 files changed

+11
-21
lines changed

MJExtension.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "MJExtension"
3-
s.version = "3.0.12"
3+
s.version = "3.0.13"
44
s.ios.deployment_target = '6.0'
55
s.osx.deployment_target = '10.8'
66
s.summary = "A fast and convenient conversion between JSON and model"

MJExtension/MJProperty.m

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,14 @@ @interface MJProperty()
1818

1919
@implementation MJProperty
2020

21-
#pragma mark - 懒加载
22-
- (NSMutableDictionary *)propertyKeysDict
21+
#pragma mark - 初始化
22+
- (instancetype)init
2323
{
24-
if (!_propertyKeysDict) {
24+
if (self = [super init]) {
2525
_propertyKeysDict = [NSMutableDictionary dictionary];
26-
}
27-
return _propertyKeysDict;
28-
}
29-
30-
- (NSMutableDictionary *)objectClassInArrayDict
31-
{
32-
if (!_objectClassInArrayDict) {
3326
_objectClassInArrayDict = [NSMutableDictionary dictionary];
3427
}
35-
return _objectClassInArrayDict;
28+
return self;
3629
}
3730

3831
#pragma mark - 缓存

MJExtension/NSObject+MJProperty.m

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,13 +163,8 @@ + (NSMutableArray *)properties
163163
// 2.遍历每一个成员变量
164164
for (unsigned int i = 0; i<outCount; i++) {
165165
MJProperty *property = [MJProperty cachedPropertyWithProperty:properties[i]];
166-
// 过滤掉系统自动添加的元素
167-
if ([property.name isEqualToString:@"hash"]
168-
|| [property.name isEqualToString:@"superclass"]
169-
|| [property.name isEqualToString:@"description"]
170-
|| [property.name isEqualToString:@"debugDescription"]) {
171-
continue;
172-
}
166+
// 过滤掉Foundation框架类里面的属性
167+
if ([MJFoundation isClassFromFoundation:property.srcClass]) continue;
173168
property.srcClass = c;
174169
[property setOriginKey:[self propertyKey:property.name] forClass:self];
175170
[property setObjectClassInArray:[self propertyObjectClassInArray:property.name] forClass:self];

MJExtension/NSString+MJExtension.m

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@ - (BOOL)mj_isPureInt
7272
- (NSURL *)mj_url
7373
{
7474
// [self stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"!$&'()*+,-./:;=?@_~%#[]"]];
75-
75+
#pragma clang diagnostic push
76+
#pragma clang diagnostic ignored"-Wdeprecated-declarations"
7677
return [NSURL URLWithString:(NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)self, (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]", NULL,kCFStringEncodingUTF8))];
78+
#pragma clang diagnostic pop
7779
}
7880
@end
7981

MJExtensionExample/main.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ void coreData()
352352
// 利用CoreData保存模型
353353
[context save:nil];
354354

355-
MJExtensionLog(@"name=%@, icon=%@, age=%zd, height=%f, money=%@, sex=%d, gay=%d", user.name, user.icon, user.age, user.height, user.money, user.sex, user.gay);
355+
MJExtensionLog(@"name=%@, icon=%@, age=%zd, height=%@, money=%@, sex=%d, gay=%d", user.name, user.icon, user.age, user.height, user.money, user.sex, user.gay);
356356
}
357357

358358
/**

0 commit comments

Comments
 (0)