absturz der App, sobald eine Entity in SQLite eingefügt wird

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • absturz der App, sobald eine Entity in SQLite eingefügt wird

      Hi,

      ich habe ein völlig fehlerfreies Skript. Sobald ich aber eine Entity hinzufüge, stürzt der Simulator ab und folgende Fehlermeldung kommt.

      Quellcode

      1. 2014-02-17 14:43:16.226 BudgetPlaner[4802:70b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'EventET''
      2. *** First throw call stack:
      3. (
      4. 0 CoreFoundation 0x017405e4 __exceptionPreprocess + 180
      5. 1 libobjc.A.dylib 0x014c38b6 objc_exception_throw + 44
      6. 2 CoreData 0x019ad18b +[NSEntityDescription entityForName:inManagedObjectContext:] + 251
      7. 3 BudgetPlaner 0x00002bb9 +[CoreDataHelper fetchEntitiesforClass:withPredicate:andSortDescriptors:inManagedObjectContext:] + 201
      8. 4 BudgetPlaner 0x00004097 -[EventListenerViewController insertDatabaseEntity] + 455
      9. 5 BudgetPlaner 0x00005370 -[EventListenerViewController viewWillAppear:] + 112
      10. 6 UIKit 0x00348bfa -[UIViewController _setViewAppearState:isAnimating:] + 419
      11. 7 UIKit 0x00349108 -[UIViewController __viewWillAppear:] + 114
      12. 8 UIKit 0x00359c80 -[UIViewController(UIContainerViewControllerProtectedMethods) beginAppearanceTransition:animated:] + 199
      13. 9 UIKit 0x0035f4fe -[UINavigationController _startCustomTransition:] + 1062
      14. 10 UIKit 0x0036c0c7 -[UINavigationController _startDeferredTransitionIfNeeded:] + 688
      15. 11 UIKit 0x0036ccb9 -[UINavigationController __viewWillLayoutSubviews] + 57
      16. 12 UIKit 0x004a6181 -[UILayoutContainerView layoutSubviews] + 213
      17. 13 UIKit 0x0029c267 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 355
      18. 14 libobjc.A.dylib 0x014d581f -[NSObject performSelector:withObject:] + 70
      19. 15 QuartzCore 0x03eb02ea -[CALayer layoutSublayers] + 148
      20. 16 QuartzCore 0x03ea40d4 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 380
      21. 17 QuartzCore 0x03ea3f40 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 26
      22. 18 QuartzCore 0x03e0bae6 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 294
      23. 19 QuartzCore 0x03e0ce71 _ZN2CA11Transaction6commitEv + 393
      24. 20 QuartzCore 0x03e0d544 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 92
      25. 21 CoreFoundation 0x017084ce __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30
      26. 22 CoreFoundation 0x0170841f __CFRunLoopDoObservers + 399
      27. 23 CoreFoundation 0x016e6344 __CFRunLoopRun + 1076
      28. 24 CoreFoundation 0x016e5ac3 CFRunLoopRunSpecific + 467
      29. 25 CoreFoundation 0x016e58db CFRunLoopRunInMode + 123
      30. 26 GraphicsServices 0x03a479e2 GSEventRunModal + 192
      31. 27 GraphicsServices 0x03a47809 GSEventRun + 104
      32. 28 UIKit 0x00231d3b UIApplicationMain + 1225
      33. 29 BudgetPlaner 0x00005e1d main + 141
      34. 30 libdyld.dylib 0x020e070d start + 1
      35. )
      36. libc++abi.dylib: terminating with uncaught exception of type NSException
      Alles anzeigen



      und folgende Stelle ist dann im Code grün markiert, mit dem Hinweis "Thread1: SIGABRT" :


      Quellcode

      1. NSEntityDescription *entityDescription = [NSEntityDescription entityForName:entityName inManagedObjectContext:context];




      wieder mal scheinbar ein Grundlegendes Verständnis-Problem, habe ich das Gefühl... ?(

      Edit: Der markierte Code ist in der CoreDataHelper.m. Diese Datei (CoreDataHelper.h) wird in meinem TableViewController, für die Auflistung von den alten Attributen der alten Entity, importiert. (Die neue Entity bis hier nur ge-added. Mehr nicht...)
    • 8o scheiße! GEIL! so einfach ist das!

      jetzt die Frage warum ist das so?

      Liegt es daran, das ich beim ersten Start der App die Datenbank anlege. Und beim zweiten Start, wo die ja nicht neu angelegt wird, auf eine Alte (ohne die neu hinzugefügten Entities) zugreift?


      Vielen Dank für die schnelle Antwort... Ich hoffe das auch der einzige Fehler war =)
    • petatschok schrieb:

      Liegt es daran, das ich beim ersten Start der App die Datenbank anlege. Und beim zweiten Start, wo die ja nicht neu angelegt wird, auf eine Alte (ohne die neu hinzugefügten Entities) zugreift?

      So ungefähr, ja.
      Allerdings wird nicht 'die Datenbank' angelegt, so wie Du das vermutlich verstehst.
      Es werden die Metadaten des Objektgraphen in einer Datenbank gespeichert. Diese passen natürlich nicht mehr, wenn Du dein Modell veränderst.

      Die In-Dev Lösung ist das Hard Reset: alte Datenbank löschen.
      Später™ kannst Du das Ganze aber auch migrieren.
      «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

      Iä-86! Iä-64! Awavauatsh fthagn!

      kmr schrieb:

      Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P