@@ -29,18 +29,21 @@ import Foundation
2929import CoreData
3030
3131public class SerializableManagedObject : NSManagedObject , ManagedSerializable {
32-
33- override init ( entity: NSEntityDescription , insertIntoManagedObjectContext context: NSManagedObjectContext ? ) {
34- super. init ( entity: entity, insertIntoManagedObjectContext: context)
35- }
36-
37- public convenience required init ? ( managedObjectContext context: NSManagedObjectContext ) {
38- var entityName = NSStringFromClass ( self . dynamicType)
32+ public static var entityName : String {
33+ var entityName = NSStringFromClass ( self )
3934 if let lastPeriodRange = entityName. rangeOfString ( " . " , options: NSStringCompareOptions . BackwardsSearch, range: nil , locale: nil ) {
4035 entityName = entityName. substringFromIndex ( lastPeriodRange. endIndex)
4136 }
4237
43- guard let entityDescription = NSEntityDescription . entityForName ( entityName, inManagedObjectContext: context) else {
38+ return entityName
39+ }
40+
41+ public override init ( entity: NSEntityDescription , insertIntoManagedObjectContext context: NSManagedObjectContext ? ) {
42+ super. init ( entity: entity, insertIntoManagedObjectContext: context)
43+ }
44+
45+ public required convenience init ? ( managedObjectContext context: NSManagedObjectContext ) {
46+ guard let entityDescription = NSEntityDescription . entityForName ( self . dynamicType. entityName, inManagedObjectContext: context) else {
4447 return nil
4548 }
4649
@@ -57,12 +60,7 @@ public class SerializableManagedObject: NSManagedObject, ManagedSerializable {
5760 }
5861
5962 public convenience required init ? ( managedObjectContext context: NSManagedObjectContext , withDictionary dictionary: SerializableDictionary ? ) {
60- var entityName = NSStringFromClass ( self . dynamicType)
61- if let lastPeriodRange = entityName. rangeOfString ( " . " , options: NSStringCompareOptions . BackwardsSearch, range: nil , locale: nil ) {
62- entityName = entityName. substringFromIndex ( lastPeriodRange. endIndex)
63- }
64-
65- guard let entityDescription = NSEntityDescription . entityForName ( entityName, inManagedObjectContext: context) else {
63+ guard let entityDescription = NSEntityDescription . entityForName ( self . dynamicType. entityName, inManagedObjectContext: context) else {
6664 return nil
6765 }
6866
@@ -140,12 +138,7 @@ public class SerializableManagedObject: NSManagedObject, ManagedSerializable {
140138 }
141139
142140 public convenience required init ? ( managedObjectContext context: NSManagedObjectContext , withData data: NSData ? ) {
143- var entityName = NSStringFromClass ( self . dynamicType)
144- if let lastPeriodRange = entityName. rangeOfString ( " . " , options: NSStringCompareOptions . BackwardsSearch, range: nil , locale: nil ) {
145- entityName = entityName. substringFromIndex ( lastPeriodRange. endIndex)
146- }
147-
148- guard let entityDescription = NSEntityDescription . entityForName ( entityName, inManagedObjectContext: context) else {
141+ guard let entityDescription = NSEntityDescription . entityForName ( self . dynamicType. entityName, inManagedObjectContext: context) else {
149142 return nil
150143 }
151144
@@ -186,12 +179,7 @@ public class SerializableManagedObject: NSManagedObject, ManagedSerializable {
186179 }
187180
188181 public convenience required init ? ( managedObjectContext context: NSManagedObjectContext , withJSON json: String ? ) {
189- var entityName = NSStringFromClass ( self . dynamicType)
190- if let lastPeriodRange = entityName. rangeOfString ( " . " , options: NSStringCompareOptions . BackwardsSearch, range: nil , locale: nil ) {
191- entityName = entityName. substringFromIndex ( lastPeriodRange. endIndex)
192- }
193-
194- guard let entityDescription = NSEntityDescription . entityForName ( entityName, inManagedObjectContext: context) else {
182+ guard let entityDescription = NSEntityDescription . entityForName ( self . dynamicType. entityName, inManagedObjectContext: context) else {
195183 return nil
196184 }
197185
0 commit comments