NSMigrationManager

NSMigrationManager是迁移管理器,通过它我们可以更精细的控制数据库迁移的工程,并能获取迁移的进度。

Symbols

Initializing a Manager

// 初始化
public init(sourceModel: NSManagedObjectModel, destinationModel: NSManagedObjectModel)

Performing Migration Operations

// 执行迁移数据库
open func migrateStore(from sourceURL: URL, sourceType sStoreType: String, options sOptions: [AnyHashable : Any]? = nil, with mappings: NSMappingModel?, toDestinationURL dURL: URL, destinationType dStoreType: String, destinationOptions dOptions: [AnyHashable : Any]? = nil) throws
// 重置
open func reset()
// 通过错误取消迁移
open func cancelMigrationWithError(_ error: Error)

Monitoring Migration Progress

// 迁移的进度
open var migrationProgress: Float { get }
// 当前正在处理的实体映射
open var currentEntityMapping: NSEntityMapping { get }

Working with Source and Destination Instances

// 关联关系
open func associate(sourceInstance: NSManagedObject, withDestinationInstance destinationInstance: NSManagedObject, for entityMapping: NSEntityMapping)

// 获取源库中匹配的实体
open func destinationInstances(forEntityMappingName mappingName: String, sourceInstances: [NSManagedObject]?) -> [NSManagedObject]

// 获取目标库中匹配的实体
open func sourceInstances(forEntityMappingName mappingName: String, destinationInstances: [NSManagedObject]?) -> [NSManagedObject]

Getting Information About a Migration Manager

// 映射模型
open var mappingModel: NSMappingModel { get }
// 源托管对象模型
open var sourceModel: NSManagedObjectModel { get }
// 目标托管对象模型
open var destinationModel: NSManagedObjectModel { get }
// 源托管对象上下文
open var sourceContext: NSManagedObjectContext { get }
// 目标托管对象上下文
open var destinationContext: NSManagedObjectContext { get }
// 通过实体映射,获取源实体描述
open func sourceEntity(for mEntity: NSEntityMapping) -> NSEntityDescription?
// 通过实体映射,获取目标库实体描述
open func destinationEntity(for mEntity: NSEntityMapping) -> NSEntityDescription?
// 携带的数据
open var userInfo: [AnyHashable : Any]?

Using Store-Specific Migration Managers

// 是否使用特定的迁移管理器迁移
@available(iOS 5.0, *)
open var usesStoreSpecificMigrationManager: Bool

 


Appendix

NSMigrationManager

Revision History

时间描述
2016-10-26博文完成

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值