使用func来从core data二进制数据中删除特定项。

8 浏览
0 Comments

使用func来从core data二进制数据中删除特定项。

我正在尝试从Core Data中删除二进制数据。我使用一个变量int 'place'来确定我要删除的特定项目,我在下面的helpImage.shareInstance.deleteInfo(info: place)中遇到了运行时错误。

无法将类型为'Int'的值转换为预期的参数类型'Info'。

我该如何删除在Core Data二进制属性中保存的第一个项目?

0
0 Comments

在这段代码中,主要是使用Core Data来保存和显示图片。在StoryBoard中,当点击"Save"按钮时,会将图片保存到Core Data中;当点击"Show"按钮时,会从Core Data中获取图片并显示在一个tableView中。

在Core Data中,需要手动勾选"Manual/None"选项来生成对应的NSManagedObject子类文件。生成的子类文件中,包括了保存图片的属性和方法。

为了保证每个Core Data对象都有唯一的ID,使用了一个扩展来获取当前时间戳作为ID。

在DataBaseHelper.swift文件中,实现了对Core Data的CRUD操作,包括保存图片、获取图片、更新图片和删除图片。

在ViewController中,保存了4张图片,并通过tableView显示出来。点击"Edit"按钮可以编辑选中行的图片,点击"Delete"按钮可以删除选中行的图片。

整个过程中,通过使用Core Data和相关方法,实现了对图片的保存和显示。

问题:如何使用函数从Core Data的二进制数据中删除特定的项?

原因:在DataBaseHelper.swift文件的deleteImage函数中,首先根据ID获取要删除的对象,然后使用context.delete()方法将其从Core Data中删除。

解决方法:调用deleteImage函数,并传入要删除的对象的ID作为参数。

0