• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 核心数据删除不起作用

[复制链接]
菜鸟教程小白 发表于 2022-12-13 11:56:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

您好,我正在尝试删除我在波纹管编码中保存的核心数据值,但它显示已删除,当我再次运行该项目时,它显示包括已删除的值意味着它没有从核心数据中删除

谁能帮我解决这个问题...

    - (IBAction)Deleteid)sender
    {

        AppDelegate * appdel = (AppDelegate *)[[UIApplication sharedApplication]delegate];
        NSString *soughtPid= self.text1.text;

        NSEntityDescription * productEntity = [NSEntityDescription entityForName"Students" inManagedObjectContext:appdel.managedObjectContext];
        NSFetchRequest *fetch=[[NSFetchRequest alloc] init];
        [fetch setEntity:productEntity];
        NSPredicate *p=[NSPredicate predicateWithFormat"name == %@", soughtPid];
        [fetch setPredicate:p];
        //... add sorts if you want them
        NSError *fetchError;
        NSArray *fetchedProducts=[appdel.managedObjectContext executeFetchRequest:fetch error:&fetchError];
        // handle error
        for (NSManagedObject *product in fetchedProducts) {
            [appdel.managedObjectContext deleteObject:product];



            NSLog(@"Deleted Names : %@",[product valueForKey"name"]);
            NSLog(@"****.......*****");
        }
         [tableview reloadData];
    }

Core Data Available values are 4 mentioned bellow.

2015-10-24 16:47:23.588 usecoredattuts[2293:108804] Names : Rahman
2015-10-24 16:47:23.589 usecoredattuts[2293:108804] Names : Karthi
2015-10-24 16:47:23.589 usecoredattuts[2293:108804] Names : Ravi
2015-10-24 16:47:23.589 usecoredattuts[2293:108804] Names : Abdul

After deleted one value mentioned bellow

2015-10-24 16:47:31.986 usecoredattuts[2293:108804] Deleted Names : Ravi

When fetching the core data values show like this

2015-10-24 16:47:41.521 usecoredattuts[2293:108804] Names : Rahman
2015-10-24 16:47:41.521 usecoredattuts[2293:108804] Names : Abdul
2015-10-24 16:47:41.521 usecoredattuts[2293:108804] Names : Karthi

Final After stoping the xcode and again when run the project I got the bellow names.

2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Rahman
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Karthi
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Ravi
2015-10-24 16:52:10.438 usecoredattuts[2308:110460] Names : Abdul

That means the name Ravi was not deleted 

有人可以帮我解决这个问题......



Best Answer-推荐答案


   for (NSManagedObject *product in fetchedProducts) {
        [appdel.managedObjectContext deleteObject:product];

        NSLog(@"Deleted Names : %@",[product valueForKey"name"]);
        NSLog(@"****.......*****");
    }

    //After delete. Save the context
    NSError *error = nil;
    [appdel.managedObjectContext save:&error];

   //Rest of your code......

这将解决您的问题。

关于ios - 核心数据删除不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33317605/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap