setValue:forUndefinedKey:] Error

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

  • setValue:forUndefinedKey:] Error

    Hallo liebes Forum.
    Ich habe eine App fertig und wollte sie gerade hochladen. Ich wollte sie noch einmal testen und nun bekomme ich folgenden Fehler:




    Quellcode

    1. Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x68650f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key img.'*** First throw call stack:
    2. (0x128d022 0x1845cd6 0x128cee1 0xb7a022 0xaebf6b 0xaebedb 0xb06d50 0x3ee71a 0x128edea 0x11f87f1 0x3ed26e 0x2931fc 0x293779 0x29399b 0x1f2401 0x1f2670 0x1f2836 0x1f972a 0x2c65 0x1ca386 0x1cb274 0x1da183 0x1dac38 0x1ce634 0x2180ef5 0x1261195 0x11c5ff2 0x11c48da 0x11c3d84 0x11c3c9b 0x1cac65 0x1cc626 0x299d 0x2905)
    3. terminate called throwing an exception(lldb)





    Ich habe schonmal gegooglelt und wie's aussieht kommt der Fehler, dass irgendwo ein IBOutlet namens 'img' ist und falsch verbunden ist. Da es 'img' nirgendwo gibt, weiss ich nicht was ich machen soll. Hat jemand ne Idee? :/ Danke für die Hilfe schonmal.


    Gruß,
    Valle
  • Valle schrieb:

    Ich habe schonmal gegooglelt und wie's aussieht kommt der Fehler, dass irgendwo ein IBOutlet namens 'img' ist und falsch verbunden ist. Da es 'img' nirgendwo gibt, weiss ich nicht was ich machen soll.

    Na, Du hast es ja schon fast richtig erfasst. Das Problem ist, dass es eine Veknüpfung mit einem Outlet 'img' gibt, dieses Oulet aber nicht existiert. Du musst also diese falsche Veknüpfung finden und korrigieren.

    Michael
  • also ich habe mal bei jedem Objekt in jedem xib nach den outlets geguckt, aber 100%tig keins gefunden. Da in dem Error auch der UIViewController 'ViewController' angegeben wird, und dort nur 4 buttons und ein hintergrundbild sind und dort auch nur IBActions und kein einziges IBOutlet drauf is kann ich den Fehler nicht fixen :/ Was nun?
  • Leider nichts. Ich hab auchmal alle Objekte rausgelöscht und neu erstellt und die connections neu gezogen - nichts hat geholfen. Ausgegraut ist nirgendwo etwas. Selbst wenn ich alle Objekte ganz rauslösche kommt der error

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Valle ()

  • Was genau ist der Call-Stack? Dies ist der gesamte Output den ich bekommen habe:


    Quellcode

    1. Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x6872210> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key img.'
    2. *** First throw call stack:
    3. (0x128b022 0x1843cd6 0x128aee1 0xb78022 0xae9f6b 0xae9edb 0xb04d50 0x3ec71a 0x128cdea 0x11f67f1 0x3eb26e 0x2911fc 0x291779 0x29199b 0x1f0401 0x1f0670 0x1f0836 0x1f772a 0x2755 0x1c8386 0x1c9274 0x1d8183 0x1d8c38 0x1cc634 0x217eef5 0x125f195 0x11c3ff2 0x11c28da 0x11c1d84 0x11c1c9b 0x1c8c65 0x1ca626 0x248d 0x23f5)
    4. terminate called throwing an exception(lldb)
  • Also die Codezeile die "erscheint" wenn ich die App starte und der Error eintritt ist in main.m:


    Quellcode

    1. int main(int argc, char *argv[])
    2. {
    3. @autoreleasepool {
    4. return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    5. }
    6. }


    Sagt mir nicht wirklich viel :/
  • Lässt Du die App im Debug oder im Release Build auf dem Device laufen?

    Beim Debug Build sollte eigentlich der Call Stack auch in der Console ausgegeben werden und z.B. so aussehen:

    Quellcode

    1. -[RootViewController checkDocumentContents]: unrecognized selector sent to instance 0xab1e3e0
    2. 2012-04-24 21:25:47.071 myPhoto[7558:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[RootViewController checkDocumentContents]: unrecognized selector sent to instance 0xab1e3e0'
    3. *** Call stack at first throw:
    4. (
    5. 0 CoreFoundation 0x00f495a9 __exceptionPreprocess + 185
    6. 1 libobjc.A.dylib 0x0109d313 objc_exception_throw + 44
    7. 2 CoreFoundation 0x00f4b0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
    8. 3 CoreFoundation 0x00eba966 ___forwarding___ + 966
    9. 4 CoreFoundation 0x00eba522 _CF_forwarding_prep_0 + 50
    10. 5 myPhoto 0x0000341d -[RootViewController viewDidLoad] + 167
    11. 6 UIKit 0x00375089 -[UIViewController view] + 179
    12. 7 UIKit 0x003737f5 -[UIViewController nextResponder] + 34
    13. 8 UIKit 0x003944a6 -[UIResponder _containsResponder:] + 41
    14. 9 UIKit 0x0037ec4e -[UINavigationController defaultFirstResponder] + 80
    15. 10 UIKit 0x00393647 -[UIResponder(Internal) _deepestDefaultFirstResponder] + 42
    16. 11 UIKit 0x00393663 -[UIResponder(Internal) _deepestDefaultFirstResponder] + 70
    17. 12 UIKit 0x00393406 -[UIResponder(Internal) _promoteDeepestDefaultFirstResponder] + 42
    18. 13 myPhoto 0x0000260c -[MyPhotoAppDelegate application:didFinishLaunchingWithOptions:] + 610
    19. 14 UIKit 0x002c5c89 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1163
    20. 15 UIKit 0x002c7d88 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
    21. 16 UIKit 0x002d2617 -[UIApplication handleEvent:withNewEvent:] + 1533
    22. 17 UIKit 0x002caabf -[UIApplication sendEvent:] + 71
    23. 18 UIKit 0x002cff2e _UIApplicationHandleEvent + 7576
    24. 19 GraphicsServices 0x018a1992 PurpleEventCallback + 1550
    25. 20 CoreFoundation 0x00f2a944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
    26. 21 CoreFoundation 0x00e8acf7 __CFRunLoopDoSource1 + 215
    27. 22 CoreFoundation 0x00e87f83 __CFRunLoopRun + 979
    28. 23 CoreFoundation 0x00e87840 CFRunLoopRunSpecific + 208
    29. 24 CoreFoundation 0x00e87761 CFRunLoopRunInMode + 97
    30. 25 UIKit 0x002c77d2 -[UIApplication _run] + 623
    31. 26 UIKit 0x002d3c93 UIApplicationMain + 1160
    32. 27 myPhoto 0x00002314 main + 102
    33. 28 myPhoto 0x000022a5 start + 53
    34. )
    35. terminate called after throwing an instance of 'NSException'
    Alles anzeigen

    Dort kann man dann sehr gut erkennen, dass das Problem im RootViewController in der Methode viewDidLoad auftritt. Im Debugger sollte der Call Stack auch angezeigt werden und wenn man dann auf die Zeile

    Quellcode

    1. 5 myPhoto 0x0000341d -[RootViewController viewDidLoad] + 167

    klickt, dann sollte Xcode direkt an die Stelle im Source Code springen. ;)
  • Vorweg erstmal danke für die Hilfe.
    Also ich bin auf edit scheme gegangen und da stand unter 'Build Configuration', dass ich auf debug bin. Trotzdem bekomme ich, wenn ich das ganze auf meinem iPhone starte nur die schon oben gepustete Fehlermeldung. Was mach ich falsch?!?!
  • Bei Xcode 4.x kann ich leider nicht weiter helfen. Evtl. gibt es eine Einstellung, damit der Call Stack komplett in der Console ausgegeben wird. Evtl. wird dieses Feature unter Xcode 4.x auch nicht mehr unterstützt.

    Schau mal, ob es in Xcode 4.x eine Debugger Ansicht gibt. Evtl. wird der Call Stack dann dort komplett ausgegeben.
  • Geh mal in Xcode auf den Breakpoint-Navigator (Links das Fenster) und drücke unten auf den "+" Button. Dann sagst du "Add Exception Breakpoint". Daraufhin öffnet sich ein Fenster das du einfach mit OK bestätigst. Wenn Du nun noch einmal debuggst, sollte er genau an der Stelle stehen bleiben wo der Fehler auftritt und nicht im main()

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Dann sind wir wieder bei dem Problem das es am XIB liegen wird. Was auch immer nicht richtig verbunden ist wird dir hier leider keiner sagen können


    Ich wußte gar nicht das es makeKeyAndVisible überhaupt gibt unter iOs ?

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)