Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.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 如何使用NSInMemoryStoreType清理NSPersistentStoreCoordinator的内存中对象图?_Ios_Core Data_Memory Management_Nspersistentstore - Fatal编程技术网

Ios 如何使用NSInMemoryStoreType清理NSPersistentStoreCoordinator的内存中对象图?

Ios 如何使用NSInMemoryStoreType清理NSPersistentStoreCoordinator的内存中对象图?,ios,core-data,memory-management,nspersistentstore,Ios,Core Data,Memory Management,Nspersistentstore,我正在为NSPersistentStoreCoordinator使用NSInMemoryStoreType来维护内存中的实体和关系,因为我不想将其写入磁盘 因此,我计划在某一点清理内存中的对象图,因为核心数据对象引用仍在内存中,所以应用程序内存不断增加 如何从内存对象图中删除/重置/删除整个核心数据实体和关系,以清理应用程序内存使用情况 是否有任何优化的方法来处理nsimemorystoretype并在需要时清理内存 请注意:我的应用程序的部署目标是iOS 8.0及以上版本。因此,清理API也应

我正在为
NSPersistentStoreCoordinator
使用
NSInMemoryStoreType
来维护内存中的实体和关系,因为我不想将其写入磁盘

因此,我计划在某一点清理内存中的对象图,因为核心数据对象引用仍在内存中,所以应用程序内存不断增加

如何从内存对象图中删除/重置/删除整个核心数据实体和关系,以清理应用程序内存使用情况

是否有任何优化的方法来处理
nsimemorystoretype
并在需要时清理内存

请注意:我的应用程序的部署目标是iOS 8.0及以上版本。因此,清理API也应该适用于iOS 8目标


谢谢

只需像在任何核心数据设置中一样删除实体。

我找到了一种清理内存存储上下文的方法。这个解决方法是从内存中的对象图中清除一些内存,而不是全部

    if inMemoryManagedObjectContext != nil{

        if let stores = inMemoryManagedObjectContext.persistentStoreCoordinator?.persistentStores{

            for store in stores{

                do{

                    try inMemoryManagedObjectContext.persistentStoreCoordinator?.remove(store)

                }catch{

                    print("Cleanup InMemoryManagedObjectContext error;\(error)")
                }
            }
        }

        inMemoryManagedObjectContext = nil
    }
谢谢Jon Rose:如果我必须删除所有实体,它会给性能带来问题,因为我有更多的实体。此外,我不确定删除实体是否会立即清理内存

感谢Sandeep Bhandari:PersistentContainer适用于iOS 10及以上版本,我的应用程序应该支持iOS 8

此外,上下文重置不会对内存清理产生任何影响。如果有任何其他方法可以在内存上下文/persistentStoreCoordinator中进行清理,请告诉我

谢谢