2 Replies
      Latest reply on Aug 16, 2019 8:29 AM by wlionel
      wlionel Level 1 Level 1 (0 points)

        Hello:

         

        I am frustrated trying to find two errors in my Swift Code to preload CoreData.

         

        1. Expected declaration and

        2. Expected "}" in class

        Below is the code and the locations for the errors. I having been able to figure out why I am getting those errors.

         

         

        import Cocoa

        import CoreData

         

        @NSApplicationMain

        class AppDelegate: NSObject, NSApplicationDelegate {

         

            func applicationDidFinishLaunching(_ aNotification: Notification) {

                // Insert code here to initialize your application

            

              //  preloadData()

         

            }

         

            func applicationWillTerminate(_ aNotification: Notification) {

                // Insert code here to tear down your application

            }

         

            var persistentContainer: NSPersistentContainer = {

                /*

                 The persistent container for the application. This implementation

                 creates and returns a container, having loaded the store for the

                 application to it. This property is optional since there are legitimate

                 error conditions that could cause the creation of the store to fail.

                 */

                let container = NSPersistentContainer(name: "ScorCent")

                container.loadPersistentStores(completionHandler: { (storeDescription, error) in

                    if let error = error {

                        // Replace this implementation with code to handle the error appropriately.

                        // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.

                    

                        /*

                         Typical reasons for an error here include:

                         * The parent directory does not exist, cannot be created, or disallows writing.

                         * The persistent store is not accessible, due to permissions or data protection when the device is locked.

                         * The device is out of space.

                         * The store could not be migrated to the current model version.

                         Check the error message to determine what the actual problem was.

                         */

                        fatalError("Unresolved error \(error)")

                    }

                })

                return container

            }()

         

            var dictQID = [String: String]()

            var arrayQID = NSMutableArray()

            let urlPath = Bundle.main.url(forResource: "QID", withExtension: "txt")

            let fileManager = FileManager.default

         

            if fileManager.fileExists(atPath: filePath){   // ERROR HERE "expected declaration"

         

            do {

         

            let fullText = try String (contentsOfFile: path, encoding:NSUTF8StringEncoding)

            let readings = fullText.componentsSeparatedByString("\n") as [String]

         

            for i in 0..<readings.count {

            let qidData = readings [i].componentsSeparatedByString ("\n")

            dictQID [] = "\(qidData [0])"

            arrayQID.addObject (dictQID)

            }

            } catch let error as NSError {

            print ("Error: \(error)"

            }

            }

            let preloadedDataKey = "didPreloadData"

         

            let userDefaults = UserDefaults.standard

         

            //if userDefaults.bool(forKey: preloadedDataKey) == false {

            let backgroundContext = persistentContainer.newBackgroundContext()

            persistentContainer.viewContext.automaticallyMergesChangesFromParent = true

            backgroundContext.perform {

            if let arrayQID = NSArray(contentsOf: urlPath ) as? [String] {

         

            do {

         

            for ScorcentQuestionsAttribute in arrayContents {

            var ScorcentQuestionsObject = ScorcentQuestions(context: backgroundContext)

            ScorcentQuestionsObject.questionId = ScorcentQuestionsAttribute

         

           }

            try backgroundContext.save()

         

             print(ScorcentQuestionsAttribute)

         

            userDefaults.set(true, forKey: preloadedDataKey)

         

            }  catch {

         

            print (error.localizedDescription)

            }

         

        }

         

            // MARK: - Core Data stack

         

            // MARK: - Core Data Saving and Undo support

         

        func saveAction(_ sender: AnyObject?) {

                // Performs the save action for the application, which is to send the save: message to the application's managed object context. Any encountered errors are presented to the user.

                let context = persistentContainer.viewContext

         

                if !context.commitEditing() {

                    NSLog("\(NSStringFromClass(type(of: self))) unable to commit editing before saving")

                }

                if context.hasChanges {

                    do {

                        try context.save()

                    } catch {

                        // Customize this code block to include application-specific recovery steps.

                        let nserror = error as NSError

                        NSApplication.shared.presentError(nserror)

                    }

                }

            }

         

            func windowWillReturnUndoManager(window: NSWindow) -> UndoManager? {

                // Returns the NSUndoManager for the application. In this case, the manager returned is that of the managed object context for the application.

                return persistentContainer.viewContext.undoManager

            }

         

            func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {

                // Save changes in the application's managed object context before the application terminates.

                let context = persistentContainer.viewContext

            

                if !context.commitEditing() {

                    NSLog("\(NSStringFromClass(type(of: self))) unable to commit editing to terminate")

                    return .terminateCancel

                }

            

                if !context.hasChanges {

                    return .terminateNow

                }

            

                do {

                    try context.save()

                } catch {

                    let nserror = error as NSError

         

                    // Customize this code block to include application-specific recovery steps.

                    let result = sender.presentError(nserror)

                    if (result) {

                        return .terminateCancel

                    }

                

                    let question = NSLocalizedString("Could not save changes while quitting. Quit anyway?", comment: "Quit without saves error question message")

                    let info = NSLocalizedString("Quitting now will lose any changes you have made since the last successful save", comment: "Quit without saves error question info");

                    let quitButton = NSLocalizedString("Quit anyway", comment: "Quit anyway button title")

                    let cancelButton = NSLocalizedString("Cancel", comment: "Cancel button title")

                    let alert = NSAlert()

                    alert.messageText = question

                    alert.informativeText = info

                    alert.addButton(withTitle: quitButton)

                    alert.addButton(withTitle: cancelButton)

                

                    let answer = alert.runModal()

                    if answer == .alertSecondButtonReturn {

                        return .terminateCancel

                    }

                }

                // If we got here, it is time to quit.

                return .terminateNow

            }

        }

        // Error here "Expected } in class"

        • Re: Expected Declaration seems to have no resolution
          Claude31 Level 8 Level 8 (6,345 points)

          Your if statement

              if fileManager.fileExists(atPath: filePath){   // ERROR HERE "expected declaration"

           

          is not inside a func ; it cannot be at the class definition level.

           

          import Cocoa
          import CoreData
          
          @NSApplicationMain
          class AppDelegate: NSObject, NSApplicationDelegate {
          
              func applicationDidFinishLaunching(_ aNotification: Notification) {
                  // Insert code here to initialize your application
              
                //  preloadData()
          
              }
          
              func applicationWillTerminate(_ aNotification: Notification) {
                  // Insert code here to tear down your application
              }
          
              var persistentContainer: NSPersistentContainer = {
                  /*
                   The persistent container for the application. This implementation
                   creates and returns a container, having loaded the store for the
                   application to it. This property is optional since there are legitimate
                   error conditions that could cause the creation of the store to fail.
                   */
                  let container = NSPersistentContainer(name: "ScorCent")
                  container.loadPersistentStores(completionHandler: { (storeDescription, error) in
                      if let error = error {
                          // Replace this implementation with code to handle the error appropriately.
                          // fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
                      
                          /*
                           Typical reasons for an error here include:
                           * The parent directory does not exist, cannot be created, or disallows writing.
                           * The persistent store is not accessible, due to permissions or data protection when the device is locked.
                           * The device is out of space.
                           * The store could not be migrated to the current model version.
                           Check the error message to determine what the actual problem was.
                           */
                          fatalError("Unresolved error \(error)")
                      }
                  })
                  return container
              }()
          
              var dictQID = [String: String]()
              var arrayQID = NSMutableArray()
              let urlPath = Bundle.main.url(forResource: "QID", withExtension: "txt")
              let fileManager = FileManager.default
          
              if fileManager.fileExists(atPath: filePath){   // ERROR HERE "expected declaration"
          
              do {
          
              let fullText = try String (contentsOfFile: path, encoding:NSUTF8StringEncoding)
              let readings = fullText.componentsSeparatedByString("\n") as [String]
          
              for i in 0..    let qidData = readings [i].componentsSeparatedByString ("\n")
              dictQID [] = "\(qidData [0])"
              arrayQID.addObject (dictQID)
              }
              } catch let error as NSError {
              print ("Error: \(error)"
              }
              }
              let preloadedDataKey = "didPreloadData"
          
              let userDefaults = UserDefaults.standard
          
              //if userDefaults.bool(forKey: preloadedDataKey) == false {
              let backgroundContext = persistentContainer.newBackgroundContext()
              persistentContainer.viewContext.automaticallyMergesChangesFromParent = true
              backgroundContext.perform {
              if let arrayQID = NSArray(contentsOf: urlPath ) as? [String] {
          
              do {
          
              for ScorcentQuestionsAttribute in arrayContents {
              var ScorcentQuestionsObject = ScorcentQuestions(context: backgroundContext)
              ScorcentQuestionsObject.questionId = ScorcentQuestionsAttribute
          
             }
              try backgroundContext.save()
          
               print(ScorcentQuestionsAttribute)
          
              userDefaults.set(true, forKey: preloadedDataKey)
          
              }  catch {
          
              print (error.localizedDescription)
              }
          
          }
          
              // MARK: - Core Data stack
          
              // MARK: - Core Data Saving and Undo support
          
          func saveAction(_ sender: AnyObject?) {
                  // Performs the save action for the application, which is to send the save: message to the application's managed object context. Any encountered errors are presented to the user.
                  let context = persistentContainer.viewContext
          
                  if !context.commitEditing() {
                      NSLog("\(NSStringFromClass(type(of: self))) unable to commit editing before saving")
                  }
                  if context.hasChanges {
                      do {
                          try context.save()
                      } catch {
                          // Customize this code block to include application-specific recovery steps.
                          let nserror = error as NSError
                          NSApplication.shared.presentError(nserror)
                      }
                  }
              }
          
              func windowWillReturnUndoManager(window: NSWindow) -> UndoManager? {
                  // Returns the NSUndoManager for the application. In this case, the manager returned is that of the managed object context for the application.
                  return persistentContainer.viewContext.undoManager
              }
          
              func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {
                  // Save changes in the application's managed object context before the application terminates.
                  let context = persistentContainer.viewContext
              
                  if !context.commitEditing() {
                      NSLog("\(NSStringFromClass(type(of: self))) unable to commit editing to terminate")
                      return .terminateCancel
                  }
              
                  if !context.hasChanges {
                      return .terminateNow
                  }
              
                  do {
                      try context.save()
                  } catch {
                      let nserror = error as NSError
          
                      // Customize this code block to include application-specific recovery steps.
                      let result = sender.presentError(nserror)
                      if (result) {
                          return .terminateCancel
                      }
                  
                      let question = NSLocalizedString("Could not save changes while quitting. Quit anyway?", comment: "Quit without saves error question message")
                      let info = NSLocalizedString("Quitting now will lose any changes you have made since the last successful save", comment: "Quit without saves error question info");
                      let quitButton = NSLocalizedString("Quit anyway", comment: "Quit anyway button title")
                      let cancelButton = NSLocalizedString("Cancel", comment: "Cancel button title")
                      let alert = NSAlert()
                      alert.messageText = question
                      alert.informativeText = info
                      alert.addButton(withTitle: quitButton)
                      alert.addButton(withTitle: cancelButton)
                  
                      let answer = alert.runModal()
                      if answer == .alertSecondButtonReturn {
                          return .terminateCancel
                      }
                  }
                  // If we got here, it is time to quit.
                  return .terminateNow
              }
          }

          So lines 47 to 93 should be moved inside a func, such as didFinishLaunching.

          You will also need to move some var declaratiçons so that they are declared when you use.

           

          Line 62, you miss a closing parenthesis at the end.

          Line 92, need to add a closing } curly bracket

          Tell if the other error persists after these chnages.

            • Re: Expected Declaration seems to have no resolution
              wlionel Level 1 Level 1 (0 points)

              Thanks Claude31.

               

              That resolved the two issues. However, when I ran the code I received the error stream below, So I am going to create another post with an explanation of what I want to accomplish.

               

              2019-08-16 11:16:34.498731-0400 ScorCent[73722:18191231] [error] error: -addPersistentStoreWithType:SQLite configuration:(null) URL:file:///Users/wlionelwilliams/Library/Containers/AppDev.ScorCent/Data/Library/Application%20Support/ScorCent/ScorCent.sqlite options:{

                  NSInferMappingModelAutomaticallyOption = 1;

                  NSMigratePersistentStoresAutomaticallyOption = 1;

              } ... returned error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model." UserInfo={sourceModel=(<NSManagedObjectModel: 0x600002129090>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003500370>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c14980>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c14780>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c14c80>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c14d00>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c14e00>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c14800>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c14880>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c14d80>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c14600>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c14a80>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c14c00>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c14b80>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c14a00>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c14900>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c14b00>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, destinationModel=(<NSManagedObjectModel: 0x600002104be0>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003504000>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c08680>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c08600>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c08580>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c08500>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c08480>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c08400>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c08380>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c08300>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c08280>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c08200>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c08100>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c08180>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n    \\\"length >= 1\\\"\\n), warnings (\\n    1670\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c08080>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c08f80>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c09000>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, reason=Can't find or automatically infer mapping model for migration, NSUnderlyingError=0x600000c78240 {Error Domain=NSCocoaErrorDomain Code=134190 "(null)" UserInfo={entity=ScorcentQuestions, property=answer, reason=Source and destination attribute types are incompatible}}} with userInfo dictionary {

                  NSUnderlyingError = "Error Domain=NSCocoaErrorDomain Code=134190 \"(null)\" UserInfo={entity=ScorcentQuestions, property=answer, reason=Source and destination attribute types are incompatible}";

                  destinationModel = "(<NSManagedObjectModel: 0x600002104be0>) isEditable 0, entities {\n    ScorcentQuestions = \"(<NSEntityDescription: 0x600003504000>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\\n    answer = \\\"(<NSAttributeDescription: 0x600002c08680>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    difficultyLevel = \\\"(<NSAttributeDescription: 0x600002c08600>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor1 = \\\"(<NSAttributeDescription: 0x600002c08580>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor2 = \\\"(<NSAttributeDescription: 0x600002c08500>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor3 = \\\"(<NSAttributeDescription: 0x600002c08480>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor4 = \\\"(<NSAttributeDescription: 0x600002c08400>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor5 = \\\"(<NSAttributeDescription: 0x600002c08380>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    grade = \\\"(<NSAttributeDescription: 0x600002c08300>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    id = \\\"(<NSAttributeDescription: 0x600002c08280>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    qValue = \\\"(<NSAttributeDescription: 0x600002c08200>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    question = \\\"(<NSAttributeDescription: 0x600002c08100>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    questionId = \\\"(<NSAttributeDescription: 0x600002c08180>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\\\n    \\\\\\\"length >= 1\\\\\\\"\\\\n), warnings (\\\\n    1670\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    skill = \\\"(<NSAttributeDescription: 0x600002c08080>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    subject = \\\"(<NSAttributeDescription: 0x600002c08f80>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    topic = \\\"(<NSAttributeDescription: 0x600002c09000>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n}, subentities {\\n}, userInfo {\\n}, versionHashModifier (null), uniquenessConstraints (\\n)\";\n}, fetch request templates {\n}";

                  reason = "Can't find or automatically infer mapping model for migration";

                  sourceModel = "(<NSManagedObjectModel: 0x600002129090>) isEditable 0, entities {\n    ScorcentQuestions = \"(<NSEntityDescription: 0x600003500370>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\\n    answer = \\\"(<NSAttributeDescription: 0x600002c14980>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    difficultyLevel = \\\"(<NSAttributeDescription: 0x600002c14780>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor1 = \\\"(<NSAttributeDescription: 0x600002c14c80>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor2 = \\\"(<NSAttributeDescription: 0x600002c14d00>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor3 = \\\"(<NSAttributeDescription: 0x600002c14e00>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor4 = \\\"(<NSAttributeDescription: 0x600002c14800>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor5 = \\\"(<NSAttributeDescription: 0x600002c14880>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    grade = \\\"(<NSAttributeDescription: 0x600002c14d80>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    id = \\\"(<NSAttributeDescription: 0x600002c14600>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    qValue = \\\"(<NSAttributeDescription: 0x600002c14a80>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    question = \\\"(<NSAttributeDescription: 0x600002c14c00>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    questionId = \\\"(<NSAttributeDescription: 0x600002c14b80>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    skill = \\\"(<NSAttributeDescription: 0x600002c14a00>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    subject = \\\"(<NSAttributeDescription: 0x600002c14900>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    topic = \\\"(<NSAttributeDescription: 0x600002c14b00>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n}, subentities {\\n}, userInfo {\\n}, versionHashModifier (null), uniquenessConstraints (\\n)\";\n}, fetch request templates {\n}";

              }

              CoreData: error: -addPersistentStoreWithType:SQLite configuration:(null) URL:file:///Users/wlionelwilliams/Library/Containers/AppDev.ScorCent/Data/Library/Application%20Support/ScorCent/ScorCent.sqlite options:{

                  NSInferMappingModelAutomaticallyOption = 1;

                  NSMigratePersistentStoresAutomaticallyOption = 1;

              } ... returned error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model." UserInfo={sourceModel=(<NSManagedObjectModel: 0x600002129090>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003500370>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c14980>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c14780>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c14c80>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c14d00>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c14e00>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c14800>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c14880>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c14d80>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c14600>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c14a80>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c14c00>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c14b80>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c14a00>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c14900>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c14b00>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, destinationModel=(<NSManagedObjectModel: 0x600002104be0>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003504000>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c08680>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c08600>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c08580>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c08500>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c08480>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c08400>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c08380>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c08300>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c08280>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c08200>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c08100>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c08180>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n    \\\"length >= 1\\\"\\n), warnings (\\n    1670\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c08080>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c08f80>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c09000>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, reason=Can't find or automatically infer mapping model for migration, NSUnderlyingError=0x600000c78240 {Error Domain=NSCocoaErrorDomain Code=134190 "(null)" UserInfo={entity=ScorcentQuestions, property=answer, reason=Source and destination attribute types are incompatible}}} with userInfo dictionary {

                  NSUnderlyingError = "Error Domain=NSCocoaErrorDomain Code=134190 \"(null)\" UserInfo={entity=ScorcentQuestions, property=answer, reason=Source and destination attribute types are incompatible}";

                  destinationModel = "(<NSManagedObjectModel: 0x600002104be0>) isEditable 0, entities {\n    ScorcentQuestions = \"(<NSEntityDescription: 0x600003504000>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\\n    answer = \\\"(<NSAttributeDescription: 0x600002c08680>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    difficultyLevel = \\\"(<NSAttributeDescription: 0x600002c08600>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor1 = \\\"(<NSAttributeDescription: 0x600002c08580>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor2 = \\\"(<NSAttributeDescription: 0x600002c08500>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor3 = \\\"(<NSAttributeDescription: 0x600002c08480>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor4 = \\\"(<NSAttributeDescription: 0x600002c08400>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor5 = \\\"(<NSAttributeDescription: 0x600002c08380>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    grade = \\\"(<NSAttributeDescription: 0x600002c08300>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    id = \\\"(<NSAttributeDescription: 0x600002c08280>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    qValue = \\\"(<NSAttributeDescription: 0x600002c08200>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    question = \\\"(<NSAttributeDescription: 0x600002c08100>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    questionId = \\\"(<NSAttributeDescription: 0x600002c08180>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\\\n    \\\\\\\"length >= 1\\\\\\\"\\\\n), warnings (\\\\n    1670\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    skill = \\\"(<NSAttributeDescription: 0x600002c08080>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    subject = \\\"(<NSAttributeDescription: 0x600002c08f80>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    topic = \\\"(<NSAttributeDescription: 0x600002c09000>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n}, subentities {\\n}, userInfo {\\n}, versionHashModifier (null), uniquenessConstraints (\\n)\";\n}, fetch request templates {\n}";

                  reason = "Can't find or automatically infer mapping model for migration";

                  sourceModel = "(<NSManagedObjectModel: 0x600002129090>) isEditable 0, entities {\n    ScorcentQuestions = \"(<NSEntityDescription: 0x600003500370>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\\n    answer = \\\"(<NSAttributeDescription: 0x600002c14980>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    difficultyLevel = \\\"(<NSAttributeDescription: 0x600002c14780>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor1 = \\\"(<NSAttributeDescription: 0x600002c14c80>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor2 = \\\"(<NSAttributeDescription: 0x600002c14d00>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor3 = \\\"(<NSAttributeDescription: 0x600002c14e00>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor4 = \\\"(<NSAttributeDescription: 0x600002c14800>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    distractor5 = \\\"(<NSAttributeDescription: 0x600002c14880>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    grade = \\\"(<NSAttributeDescription: 0x600002c14d80>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    id = \\\"(<NSAttributeDescription: 0x600002c14600>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    qValue = \\\"(<NSAttributeDescription: 0x600002c14a80>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    question = \\\"(<NSAttributeDescription: 0x600002c14c00>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    questionId = \\\"(<NSAttributeDescription: 0x600002c14b80>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\\\";\\n    skill = \\\"(<NSAttributeDescription: 0x600002c14a00>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    subject = \\\"(<NSAttributeDescription: 0x600002c14900>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n    topic = \\\"(<NSAttributeDescription: 0x600002c14b00>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\\\n), warnings (\\\\n), versionHashModifier (null)\\\\n userInfo {\\\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\\\";\\n}, subentities {\\n}, userInfo {\\n}, versionHashModifier (null), uniquenessConstraints (\\n)\";\n}, fetch request templates {\n}";

              }

              Fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model." UserInfo={sourceModel=(<NSManagedObjectModel: 0x600002129090>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003500370>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c14980>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c14780>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c14c80>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c14d00>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c14e00>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c14800>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c14880>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c14d80>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c14600>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c14a80>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c14c00>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c14b80>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c14a00>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c14900>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c14b00>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, destinationModel=(<NSManagedObjectModel: 0x600002104be0>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003504000>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c08680>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c08600>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c08580>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c08500>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c08480>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c08400>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c08380>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c08300>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c08280>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c08200>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c08100>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c08180>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n    \\\"length >= 1\\\"\\n), warnings (\\n    1670\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c08080>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c08f80>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c09000>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, reason=Can't find or automatically infer mapping model for migration, NSUnderlyingError=0x600000c78240 {Error Domain=NSCocoaErrorDomain Code=134190 "(null)" UserInfo={entity=ScorcentQuestions, property=answer, reason=Source and destination attribute types are incompatible}}}: file /Users/wlionelwilliams/Desktop/XcodeApps/ScorCentDesktopApp/ScorCent/ScorCent/AppDelegate.swift, line 44

              2019-08-16 11:16:34.534779-0400 ScorCent[73722:18191231] Fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model." UserInfo={sourceModel=(<NSManagedObjectModel: 0x600002129090>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003500370>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c14980>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c14780>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c14c80>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c14d00>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c14e00>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c14800>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c14880>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c14d80>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c14600>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c14a80>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c14c00>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c14b80>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 100 , attributeValueClassName NSNumber, defaultValue 0, preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c14a00>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c14900>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c14b00>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, destinationModel=(<NSManagedObjectModel: 0x600002104be0>) isEditable 0, entities {

                  ScorcentQuestions = "(<NSEntityDescription: 0x600003504000>) name ScorcentQuestions, managedObjectClassName ScorcentQuestions, renamingIdentifier ScorcentQuestions, isAbstract 0, superentity name (null), properties {\n    answer = \"(<NSAttributeDescription: 0x600002c08680>), name answer, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier answer, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    difficultyLevel = \"(<NSAttributeDescription: 0x600002c08600>), name difficultyLevel, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier difficultyLevel, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor1 = \"(<NSAttributeDescription: 0x600002c08580>), name distractor1, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor1, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor2 = \"(<NSAttributeDescription: 0x600002c08500>), name distractor2, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor2, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor3 = \"(<NSAttributeDescription: 0x600002c08480>), name distractor3, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor3, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor4 = \"(<NSAttributeDescription: 0x600002c08400>), name distractor4, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor4, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    distractor5 = \"(<NSAttributeDescription: 0x600002c08380>), name distractor5, isOptional 1, isTransient 0, entity ScorcentQuestions, renamingIdentifier distractor5, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    grade = \"(<NSAttributeDescription: 0x600002c08300>), name grade, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier grade, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    id = \"(<NSAttributeDescription: 0x600002c08280>), name id, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier id, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    qValue = \"(<NSAttributeDescription: 0x600002c08200>), name qValue, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier qValue, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    question = \"(<NSAttributeDescription: 0x600002c08100>), name question, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier question, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    questionId = \"(<NSAttributeDescription: 0x600002c08180>), name questionId, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier questionId, validation predicates (\\n    \\\"length >= 1\\\"\\n), warnings (\\n    1670\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    skill = \"(<NSAttributeDescription: 0x600002c08080>), name skill, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier skill, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    subject = \"(<NSAttributeDescription: 0x600002c08f80>), name subject, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier subject, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n    topic = \"(<NSAttributeDescription: 0x600002c09000>), name topic, isOptional 0, isTransient 0, entity ScorcentQuestions, renamingIdentifier topic, validation predicates (\\n), warnings (\\n), versionHashModifier (null)\\n userInfo {\\n}, attributeType 700 , attributeValueClassName NSString, defaultValue (null), preserveValueOnDeletionInPersistentHistory NO\";\n}, subentities {\n}, userInfo {\n}, versionHashModifier (null), uniquenessConstraints (\n)";

              }, fetch request templates {

              }, reason=Can't find or automatically infer mapping model for migration, NSUnderlyingError=0x600000c78240 {Error Domain=NSCocoaErrorDomain Code=134190 "(null)" UserInfo={entity=ScorcentQuestions, property=answer, reason=Source and destination attribute types are incompatible}}}: file /Users/wlionelwilliams/Desktop/XcodeApps/ScorCentDesktopApp/ScorCent/ScorCent/AppDelegate.swift, line 44