Open lexiaoyao20 opened 8 years ago
目前不支持这种,一般来说,对于上面的情况,dogs 是要排序的,框架不知道以什么方式帮你排序。
Core Data 的做法是按加入的先后顺序排,但一般这种排序不是业务场景需要的。
对于这种情况,其实只需把上面的 dogs 定义成非持久化属性,然后自己实现 getter 方法就可以了。
恩,多谢回复。
能不能给个demo呢? 我不知道如何才能实现....谢谢!
比如上面这个例子,在 + persistentProperties 返回的数组里就不要加 @"dogs" 啦。
然后自己实现 dogs 的 getter 方法:
- (NSArray<Dog *> *)dogs {
if (!_dogs) {
_dogs = [Dog objectsWhere:...];
}
return _dogs;
}
意思是Dog单独存一个表么?那么是否也同时需要重写setDogs? 关系型数据库设计来说dog应该是一个单独表,并且有个personId 作为外键记录这个 dog 是属于谁的
是的,Dogs 是个单独的表,参考主页那个例子就行了
发现是可以存数组是字典的,数组或者字典里面内容是string 、number类型的可以存储和读取,亲自实验的啊
@yhl714387953 那样是在框架内部自动转成 data 了,如果 data 太大,会影响数据库性能,用的时候要小心
原来如此,多谢了大神……
比如有一个Person类,一个Person可以有多条Dog:
支持像上面这种情况吗? 如果支持的话,我们代码需要怎么写?