找个时间,得把各种数据库的原理了解并记录一下。现在先把使用过程中遇到的问题列一下:
1、切记realm数据库支持的类型,使用了数组和字典的要注意了,最好声明一个NSData类型的对应属性,然后使用ignoredProperties忽略数组和字典类型的属性。。在存储时候转化一波!
BOOL, bool, int, NSInteger, long, float, double, CGFloat, NSString, NSDate 和 NSData
2、使用默认数据库并且修改默认数据库的路径时,要先检查修改的文件夹是否存在,否则就会炸掉。
3、新增了一个字段,删除了一个字段,炸掉,提示我,字段变更了,要数据迁移,好吧,整个数据库删掉了,再来。
4、删除报错,Can only delete an object from the Realm it belongs to
这个可能是因为,你模型并不是由数据库查询得到的,所以数据库不能直接删除,建议先用id查询这个对象,然后删除查询到的对象。
5、使用报错,Object has been deleted or invalidated
这个可能是因为,你持有的对象,已经被数据库删除掉了,debug一下打印这个对象,会显示[invalidated object],相当于空对象,再获取吧。
6、直接报错,this class is not key value coding-compliant for the key id.
这个意思是你没有这个id字段,可是我本来就没有这个字段啊,不是很理解,我的处理