相关疑难解决方法(0)

删除/重置核心数据中的所有条目?

您知道删除Core Data中存储的所有条目的方法吗?我的架构应该保持不变; 我只是想把它重置为空白.


编辑

我希望以编程方式执行此操作,以便用户可以实际按下reset按钮.

cocoa cocoa-touch core-data nsmanagedobject ios

229
推荐指数
13
解决办法
15万
查看次数

iOS:删除所有核心数据Swift

关于如何删除swift中的所有核心数据,我有点困惑.我创建了一个带IBAction链接的按钮.点击按钮我有以下内容:

let appDel: foodforteethAppDelegate = UIApplication.sharedApplication().delegate as foodforteethAppDelegate
    let context: NSManagedObjectContext = appDel.managedObjectContext
Run Code Online (Sandbox Code Playgroud)

然后我用各种方法搞砸了尝试删除所有核心数据内容,但我似乎无法让它工作.我已经使用removeAll从存储的数组中删除但仍然无法从核心数据中删除.我假设我需要某种类型的for循环但不确定如何从请求中创建它.

我尝试应用删除单行的基本原则

func tableView(tableView: UITableView!, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath!) {

    let appDel: foodforteethAppDelegate = UIApplication.sharedApplication().delegate as foodforteethAppDelegate
    let context:NSManagedObjectContext = appDel.managedObjectContext

    if editingStyle == UITableViewCellEditingStyle.Delete {

        if let tv = tblTasks {
            context.deleteObject(myList[indexPath!.row] as NSManagedObject)
            myList.removeAtIndex(indexPath!.row)
            tv.deleteRowsAtIndexPaths([indexPath!], withRowAnimation: UITableViewRowAnimation.Fade)
        }

        var error: NSError? = nil
        if !context.save(&error) {
            abort()
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

但是,这个问题是当我单击一个按钮时,我没有indexPath值,而且我还需要遍历所有我无法用上下文做的值.

core-data ios swift

54
推荐指数
8
解决办法
5万
查看次数

CoreData删除多个对象

我知道如何删除CoreData中的单个对象我只是想知道是否有更简单的删除多个对象的方法?

对于单删除,您可以使用

[moc deleteObject:someManagedObject];
Run Code Online (Sandbox Code Playgroud)

但是没有多个对象的等价物.

目前我正在考虑做...

NSArray *arrayOfManagedObjectsToDelete = //...

for (SomeManagedObjectClass *managedObject in arrayOfManagedObjectsToDelete) {
    [moc deleteObject:managedObject];
}
Run Code Online (Sandbox Code Playgroud)

但我不确定是否有另一种方法可以做到这一点?

理想情况下像...的方法

- (void)deleteObjects:(NSSet*)objects
Run Code Online (Sandbox Code Playgroud)

NSManagedObjectContext或一些类似的方法.

core-data objective-c ios

15
推荐指数
4
解决办法
1万
查看次数

核心数据:删除实体类型的所有对象,即清除表格

之前已经提出过这个问题,但没有描述的解决方案足以满足我的应用需求.

在我们设置的通信协议中,服务器在每次执行同步时发送一组新的客户.早些时候,我们一直作为一个plist存储.现在想要使用Core Data.

可能有数千个条目.单独删除每一个需要很长时间.有没有办法删除Core Data中特定表中的所有行?

delete from customer
Run Code Online (Sandbox Code Playgroud)

sqlite中的这个调用立即发生.在Core1中单独浏览每一个可能需要30秒才能在iPad1上完成.

关闭Core Data是合理的,即删除持久性存储和所有托管对象上下文,然后放入sqlite并对表执行delete命令?在此过程中没有其他活动正在进行,因此我不需要访问数据库的其他部分.

sqlite core-data ios

10
推荐指数
2
解决办法
2万
查看次数

使用新的Core Data Batch Updates,是否可以批量删除?

我当前删除Core Data中所有特定类型对象的方法是迭代每个对象并手动删除,这相当昂贵.

使用今年添加到Core Data 的新批量更新,可以像这样完成吗?

core-data ios8

6
推荐指数
2
解决办法
1912
查看次数

Cocoa-Touch,核心数据:如何删除实体的所有对象?

我有一个应用程序,使用Core Data与SQLite商店.

在某些时候,我想删除几个实体的所有对象.可能有近千个物体.

从我通过谷歌和官方文档可以看出,删除对象的唯一方法是[managedObjectContext deleteObject:(Entity *)]为每个对象.但这意味着我必须首先获取所有对象.

数据存储只是sqlite,有没有办法简单地传递TRUNCATE TABLE ZENTITY;给它?

iphone cocoa-touch core-data objective-c

2
推荐指数
1
解决办法
5373
查看次数

核心数据删除

我在大多数从核心数据中删除所有条目的解决方案中找到的是三个步骤:

  1. 全部取出它们

  2. 全部删除它们

  3. 全部保存

还有其他选择......?

core-data objective-c ios

0
推荐指数
1
解决办法
75
查看次数