Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 已添加MagicalRecord访问最早的元素_Ios_Core Data_Ios7_Magicalrecord - Fatal编程技术网

Ios 已添加MagicalRecord访问最早的元素

Ios 已添加MagicalRecord访问最早的元素,ios,core-data,ios7,magicalrecord,Ios,Core Data,Ios7,Magicalrecord,我正在我的应用程序中使用神奇的库MagicalRecord 我需要对应用程序中的一些数据进行“磁盘缓存”。要限制此缓存的大小,我不希望最多只有100个该类型数据的实例 我遇到的一个简单解决方案是,每次添加新元素时,检查数字是否大于100。如果是,则应删除添加的最早的元素 ModelData *model = [ModelData MR_createEntity]; model.key = modelDataKey; model.value = value; [[NSManagedObjectC

我正在我的应用程序中使用神奇的库MagicalRecord

我需要对应用程序中的一些数据进行“磁盘缓存”。要限制此缓存的大小,我不希望最多只有100个该类型数据的实例

我遇到的一个简单解决方案是,每次添加新元素时,检查数字是否大于100。如果是,则应删除添加的最早的元素

ModelData *model = [ModelData MR_createEntity];
model.key = modelDataKey;
model.value = value;

[[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreWithCompletion:^(BOOL contextDidSave, NSError *error) {
    NSUInteger count = [ModelData MR_countOfEntities];
    if (count > 100) {
       //remove last element added
    }
}];
我知道我可以将atribute日期添加到我的模型中,并按顺序进行搜索,但我更喜欢更好的解决方案(如果存在)

这个问题有什么建议吗


提前感谢。

是的,解决方案是将创建的时间戳作为属性。我不会担心存储或性能,这是一个干净、轻量级的解决方案

您可以通过覆盖
awakeFromInsert
自动轻松地添加日期