'+[NSInvocation invocationWithMethodSignature:]: Signatur der Methode argument nicht nil' (Cocos2D)
Xcode 3.2.5, iOS 4.2 (Simulator), Cocos2D 0.99.5
Folgenden dieses tutorial kommt mit einem wunderbaren crash, wie unten zu sehen ist.
Habe ich nicht gefunden eine single (direkt) relevant, was durch Google auf einer beliebigen Website. Der nächstgelegene ich bekam, war etwas anderes auf dieser Website mit dem gleichen Fehler, aber einen ganz anderen Grund. (Ich nehme an, so, wie auch immer. Aber dann, da 0.99.5 kommt mit zwei Analyzer-Ergebnissen, es konnte nur ein schlechtes release...)
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSInvocation invocationWithMethodSignature:]: method signature argument cannot be nil'
*** Call stack at first throw:
(
0 CoreFoundation 0x013cbbe9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x015205c2 objc_exception_throw + 47
2 CoreFoundation 0x0133bb09 +[NSInvocation invocationWithMethodSignature:] + 553
3 FirstGame 0x0005ddd4 -[CCMenuItem initWithTarget:selector:] + 308
4 FirstGame 0x0005e528 -[CCMenuItemLabel initWithLabel:target:selector:] + 104
5 FirstGame 0x0005fb1d -[CCMenuItemFont initFromString:target:selector:] + 365
6 FirstGame 0x0005f8db +[CCMenuItemFont itemFromString:target:selector:] + 123
7 FirstGame 0x00003457 -[HelloWorld init] + 231
8 FirstGame 0x00063db1 +[CCNode node] + 81
9 FirstGame 0x0000332d +[HelloWorld scene] + 93
10 FirstGame 0x00002dbc -[FirstGameAppDelegate applicationDidFinishLaunching:] + 1212
11 UIKit 0x0085a253 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1252
12 UIKit 0x0085c55e -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 439
13 UIKit 0x00866db2 -[UIApplication handleEvent:withNewEvent:] + 1533
14 UIKit 0x0085f202 -[UIApplication sendEvent:] + 71
15 UIKit 0x00864732 _UIApplicationHandleEvent + 7576
16 GraphicsServices 0x02973a36 PurpleEventCallback + 1550
17 CoreFoundation 0x013ad064 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
18 CoreFoundation 0x0130d6f7 __CFRunLoopDoSource1 + 215
19 CoreFoundation 0x0130a983 __CFRunLoopRun + 979
20 CoreFoundation 0x0130a240 CFRunLoopRunSpecific + 208
21 CoreFoundation 0x0130a161 CFRunLoopRunInMode + 97
22 UIKit 0x0085bfa8 -[UIApplication _run] + 636
23 UIKit 0x0086842e UIApplicationMain + 1160
24 FirstGame 0x000028a4 main + 100
25 FirstGame 0x00002835 start + 53
)
Kann ich nicht mit etwas kommen. Vielleicht hat jemand anderes das schon mal gesehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Speziell, es sieht aus wie dieser Aufruf?
Haben Sie umgesetzt
goToGameplay:
auf IhreHelloWorld
Klasse?Den Weg, das tutorial ist geschrieben, Sie schreiben nicht die Methode, die erst später in der Anleitung. Also, wenn Sie das tutorial in der Mitte und versuchen zu schlagen, dass der Menüpunkt zu einem Absturz, wie oben beschrieben.
Ich hatte den gleichen Fehler, aufgrund meiner schlechten Kenntnisse von Selektoren in Objective-C. ich zunächst umgesetzt goToGameplay Methode mit der Signatur:
stattdessen musste ich nutzen:
Das funktioniert mit dem Aufruf:
Hoffe ich hilft.
Sieht es aus wie der selector Sie bestanden haben zu
+[CCMenuItemFont itemFromString:target:selector:]
wird nicht auf Ihr Zielobjekt. Versucht zu schauen bis der selector führen würdenil
Signatur der Methode, die Ursache wäre der Fehler dort gesehen.Ich hatte das gleiche problem. Mein Problem war in der PauseScene.m-Datei erstellen die Menüpunkte für fortsetzen und beenden. In meinem Fall einer der Namen in der @Selektor-Teil CCMenuItem nicht mit der Methode name später verwendet. Insbesondere für mich, die ich verwendet, @selector(GotoMainMenu), aber GoToMainMenu für die Methode...der Unterschied war "Zu" vs "zu". Um zu überprüfen, legen Sie ein NSLog an der Spitze der init in der PauseScene.m-Datei. Wenn Sie die Meldung sehen, das problem ist irgendwo hier. Wenn nicht, ist es vermutlich früher.