IOS_FMDB有关字典、数组存储及获取问题

FMDB存储字典或数组时会变成字符串存入sqlite里,但如果不将其转换成json格式存储,你查询获取数据时就会获取无法转换成字典或数组的字符串。

转换JSON存储:

NSArray *picArr = @[@"对象"];
NSError *err = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:picArr options:NSJSONWritingPrettyPrinted error:&err];
NSString *jsonStr = [[NSString alloc] initWithData:jsonDataencoding:NSUTF8StringEncoding];

获取用第三方包 JSONKIT转换数组或字典

FMResultSet *set = [app.db executeQuery:@"SELECT * FROM CACHE"];
while ([set next]) {
    NSString *str  = [set stringForColumn:@"IMGURL"];
    //第三方包jsonKit转换
    NSArray *arr =(NSArray *)[str objectFromJSONString];
}

附:JSONKIT isa错误的解决办法

错误显示:direct access to Objective-C's isa is deprecated in favor of object_getClass()

原因:ios6以上的版本 array->isa 已弃用

修复方法:项目配置中Direct usage of 'isa' 将 YES(treat as error) 改为NO

原文地址:https://www.cnblogs.com/tangaofeng/p/4923578.html