5 // Created by Hori,Masaki on 2017/03/11.
6 // Copyright © 2017年 Hori,Masaki. All rights reserved.
11 struct Entity<T: NSManagedObject> {
16 protocol EntityProvider {
18 associatedtype ObjectType: NSManagedObject = Self
20 static var entityName: String { get }
21 static var entity: Entity<ObjectType> { get }
24 extension EntityProvider {
26 static var entity: Entity<ObjectType> {
28 return Entity<ObjectType>(name: entityName)
32 extension NSManagedObject {
34 class var entityName: String { return String(describing: self) }