【问题标题】:iOS 10 Core Data In Memory Store for Unit Tests用于单元测试的内存存储中的 iOS 10 核心数据
【发布时间】:2016-08-17 19:32:23
【问题描述】:

对于单元测试,我使用了类似的东西:https://gist.github.com/aceontech/8860058 在测试我的核心数据模型时创建内存存储。随着 iOS 10 的引入,NSPersistentStoreCoordinators 现在隐藏在 NSPersistentContainers 中。有没有人在 iOS 10 上玩过 Core Data 并弄清楚如何初始化类似的东西?任何帮助将不胜感激。

谢谢!

【问题讨论】:

    标签: ios unit-testing core-data


    【解决方案1】:

    可以继续使用旧方法。它没有被弃用,也不需要NSPersistentContainer

    如果您想要更新的方法,请使用新的NSPersistentStoreDescription 类,它处理添加持久存储时可能指定的所有内容。你会做类似的事情

    let container = NSPersistentContainer(name: "MyModel")
    
    let description = NSPersistentStoreDescription()
    description.type = NSInMemoryStoreType
    container.persistentStoreDescriptions = [description]
    
    container.loadPersistentStores(completionHandler: { ...
    }
    

    这个新类还包括自动轻量级迁移选项等内容。

    【讨论】:

    • 我在使用 NSInMemoryStoreType 时遇到问题,其中商店无法加载模型定义。除了上面的代码,我需要通过添加将其指向默认配置:description.configuration = "Default"
    • 很有趣,也很奇怪。感谢您的提醒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 2010-11-12
    • 1970-01-01
    • 2010-10-03
    相关资源
    最近更新 更多