Skip to content

Commit

Permalink
支持 Array,Dictionary,String 可变类型的存储,解决iOS10 NSMutableArray 读取失败的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
ljh committed Sep 19, 2016
1 parent 1087b41 commit 199a234
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
4 changes: 2 additions & 2 deletions LKDBHelper.podspec.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "LKDBHelper",
"version": "2.3.3",
"version": "2.3.5",
"summary": "全自动的插入,查询,更新,删除, an automatic database operation thread-safe and not afraid of recursive deadlock",
"description": "全面支持 NSArray,NSDictionary, ModelClass, NSNumber, NSString, NSDate, NSData, UIColor, UIImage, CGRect, CGPoint, CGSize, NSRange, int,char,float, double, long.. 等属性的自动化操作(插入和查询)",
"homepage": "https://github.com/li6185377/LKDBHelper-SQLite-ORM",
Expand All @@ -10,7 +10,7 @@
},
"source": {
"git": "https://github.com/li6185377/LKDBHelper-SQLite-ORM.git",
"tag": "2.3.3"
"tag": "2.3.5"
},
"platforms": {
"ios": "4.3",
Expand Down
21 changes: 17 additions & 4 deletions LKDBHelper/Helper/NSObject+LKModel.m
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ - (id)modelGetValue:(LKDBProperty *)property
return nil;
}
else if ([value isKindOfClass:[NSString class]]) {
returnValue = value;
returnValue = [value copy];
}
else if ([value isKindOfClass:[NSNumber class]]) {
returnValue = [[LKDBUtils numberFormatter] stringFromNumber:value];
Expand Down Expand Up @@ -327,7 +327,7 @@ - (void)modelSetValue:(LKDBProperty *)property value:(NSString *)value
}
else if ([columnClass isSubclassOfClass:[NSString class]]) {
if (![LKDBHelper nullIsEmpty] || value.length > 0) {
modelValue = [value copy];
modelValue = [columnClass stringWithString:value];
}
}
else if ([columnClass isSubclassOfClass:[NSNumber class]]) {
Expand Down Expand Up @@ -374,7 +374,20 @@ - (void)modelSetValue:(LKDBProperty *)property value:(NSString *)value
}
else {
modelValue = [self db_modelWithJsonValue:value];
if (![modelValue isKindOfClass:columnClass]) {
BOOL isValid = NO;
if ([modelValue isKindOfClass:[NSArray class]] && [columnClass isSubclassOfClass:[NSArray class]]) {
isValid = YES;
modelValue = [columnClass arrayWithArray:modelValue];
}
else if ([modelValue isKindOfClass:[NSDictionary class]] && [columnClass isSubclassOfClass:[NSDictionary class]]) {
isValid = YES;
modelValue = [columnClass dictionaryWithDictionary:modelValue];
}
else if ([modelValue isKindOfClass:columnClass]) {
isValid = YES;
}
///如果类型不对 则设置为空
if (!isValid) {
modelValue = nil;
}
}
Expand Down Expand Up @@ -981,4 +994,4 @@ - (void)mutableString:(NSMutableString*)sb appendPropertyStringWithClass:(Class)
}
}

@end
@end

0 comments on commit 199a234

Please sign in to comment.