天天看點

NSManagedObjectModelAppendix

NSManagedObjectModel是托管對象模型,标示着Core Data對應的資料實體。

托管對象模型包含一個或多個NSEntityDescription對象,NSEntityDescription記錄的就是實體的描述資訊。

1 Initializing a Model

// 通過指定的url位址生成模型
public convenience init?(contentsOf url: URL)
// 傳回合并所有在給定束中發現的模型建立的模型。
open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel? 
// 從指定的中繼資料傳回一個指定數組的合并模型,以提供版本資訊的合并模型。
@available(iOS 3.0, *)
open class func mergedModel(from bundles: [Bundle]?, forStoreMetadata metadata: [String : Any]) -> NSManagedObjectModel?
// 從現有的資料模型合并成一個資料模型
public /*not inherited*/ init?(byMerging models: [NSManagedObjectModel]?)
// 通過指定的版本資訊合并資料模型
@available(iOS 3.0, *)
    public /*not inherited*/ init?(byMerging models: [NSManagedObjectModel], forStoreMetadata metadata: [String : Any])
           

2 Entities and Configurations

// 實體字典,key為實體名
open var entitiesByName: [String : NSEntityDescription] { get }
// 實體數組
open var entities: [NSEntityDescription]
// 可用的配置名稱
open var configurations: [String] { get }
// 通過配置名擷取實體
open func entities(forConfigurationName configuration: String?) -> [NSEntityDescription]?
// 将指定配置名和實體集合關聯
open func setEntities(_ entities: [NSEntityDescription], forConfigurationName configuration: String)
           

3 Getting Fetch Request Templates

// 擷取所有快速查詢模闆
@available(iOS , *)
open var fetchRequestTemplatesByName: [String : NSFetchRequest<NSFetchRequestResult>] { get }
// 設定查詢模闆
open func setFetchRequestTemplate(_ fetchRequestTemplate: NSFetchRequest<NSFetchRequestResult>?, forName name: String)    
// 根據關鍵字擷取模闆
open func fetchRequestTemplate(forName name: String) -> NSFetchRequest<NSFetchRequestResult>?    
// 根據關鍵字擷取,并可用字典替換
open func fetchRequestFromTemplate(withName name: String, substitutionVariables variables: [String : Any]) -> NSFetchRequest<NSFetchRequestResult>?
           

4 Localization

// 定位字典
open var localizationDictionary: [String : String]?
           

5 Versioning and Migration

// 開發人員定義的版本辨別符
@available(iOS , *)
open var versionIdentifiers: Set<AnyHashable>    
// 判斷源是否相容,主要用于判斷是否需要做資料庫遷移
@available(iOS , *)
open func isConfiguration(withName configuration: String?, compatibleWithStoreMetadata metadata: [String : Any]) -> Bool    
// 版本相容性相關資訊
@available(iOS , *)
open var entityVersionHashesByName: [String : Data] { get }
           

6 Initializers

// 初始化
public init()
           

Appendix

Related Documentation

NSManagedObjectModel

Revision History

時間 描述
2016-10-22 博文完成

Copyright

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

GitHub:https://github.com/937447974

繼續閱讀