在我的ios应用程序中,我正在使用魔术记录..首先,我从服务器检索json数据。然后将json数据存储到魔术记录中。问题是,当我从魔术记录中获取数据时,我会反复获取数据。我想在tableview中显示神奇的记录数据。如果我每次菜单项计数增加时都运行该应用程序。
json回应:
应用菜单列表项响应:
{
状态=成功;
数据=
(
{
文字=“紧急情况摘要”;
},
{
文字=“新问题”;
},
{
文字=“新的家族史”;
}
我的神奇记录是:
列表项(实体:AppMenuList; ID:0x7b10fb80;数据:
{
menuItemName =“紧急情况摘要”;
列表项(实体:AppMenuList; ID:0x7b10fb90
menuItemName =“紧急情况摘要”;
列表项(实体:AppMenuList; ID:0x7b10fba0
menuItemName =“新问题”
我正在像这样从魔术记录中获取数据:
(void)parseGetAppMenuListResponse:(NSDictionary *)mediaResponse {
NSArray * dbMenuListArray = [AppMenuList MR_findAll];
NSArray * menuListDetailsArray = [MenuListDetails MR_findAll];
DLog(@“ AppMenuList:%@”,[AppMenuList MR_findAll]);
DLog(@“ MenuListDetails:%@”,[MenuListDetails MR_findAll]);
DLog(@“ MenuResponse:%@”,mediaResponse);
for(int iCount = 0; iCount
NSDictionary * menuData = [[mediaResponse objectForKey:@“ data”] objectAtIndex:iCount];
//检查数据库中是否存在记录,然后删除记录
对于(AppMenuList * dbMenuListArray中的列表){
如果([list.userID isEqualToString:[[UserDefaults defaultsInstance] getUserId]]){
[列表MR_deleteEntity];
}
NSLog(@“列出项目%@”,list);
}
最佳答案
[MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext) {
// Do your work to be saved here, against the `localContext` instance
// Everything you do in this block will occur on a background thread
}
如果您执行的是
saveWithBlock
,而无需等待,则多个请求几乎可以同时导致多次保存,因此您将获得重复的记录。关于objective-c - 魔术记录-在Objective-C中出现重复记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36978838/