2010-07-23 11 views
0

J'ai récemment essayé d'intégrer la feinte ouverte dans mon application. Lorsque mon application se lance, le bouton "Bienvenue au lecteur xxxx" en bas fonctionne donc je sais que la feinte ouverte fonctionne. Cependant, quand j'appuie sur le bouton qui a ce qui lui est liéObtenir un plantage lorsque je lance le tableau de bord OpenFeint

-(IBAction) leaderboard: (id) sender 
{ 

[OpenFeint launchDashboard]; 
} 

Je reçois cette erreur:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[DemoAppViewController leaderboard]: unrecognized selector sent to instance 0x7a40250' 
*** Call stack at first throw: 

(
0 CoreFoundation      0x02d71919 __exceptionPreprocess + 185 
1 libobjc.A.dylib      0x02ebf5de objc_exception_throw + 47 
2 CoreFoundation      0x02d7342b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
3 CoreFoundation      0x02ce3116 ___forwarding___ + 966 
4 CoreFoundation      0x02ce2cd2 _CF_forwarding_prep_0 + 50 
5 UIKit        0x00695e14 -[UIApplication sendAction:to:from:forEvent:] + 119 
6 UIKit        0x0071f6c8 -[UIControl sendAction:to:forEvent:] + 67 
7 UIKit        0x00721b4a -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 527 
8 UIKit        0x007206f7 -[UIControl touchesEnded:withEvent:] + 458 
9 UIKit        0x006b92ff -[UIWindow _sendTouchesForEvent:] + 567 
10 UIKit        0x0069b1ec -[UIApplication sendEvent:] + 447 
11 UIKit        0x0069fac4 _UIApplicationHandleEvent + 7495 
12 GraphicsServices     0x032f3afa PurpleEventCallback + 1578 
13 CoreFoundation      0x02d52dc4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52 
14 CoreFoundation      0x02cb3737 __CFRunLoopDoSource1 + 215 
15 CoreFoundation      0x02cb09c3 __CFRunLoopRun + 979 
16 CoreFoundation      0x02cb0280 CFRunLoopRunSpecific + 208 
17 CoreFoundation      0x02cb01a1 CFRunLoopRunInMode + 97 
18 GraphicsServices     0x032f22c8 GSEventRunModal + 217 
19 GraphicsServices     0x032f238d GSEventRun + 115 
20 UIKit        0x006a3b58 UIApplicationMain + 1160 
21 DemoApp        0x00004f84 main + 102 
22 DemoApp        0x00004f15 start + 53 
) 

terminate called after throwing an instance of 'NSException' 

Je n'ai pas pu trouver un poste sur la façon de résoudre ce sorte que toute aide serait grandement apprécié! Merci à l'avance

Répondre

0

De l'exception il me semble que vous avez essayé de message votre objet avec leaderboard lorsque la méthode nécessite un argument et comme tel vous devriez l'appeler avec un.

C'est, il semble que vous faites quelque chose comme ceci:

[someDemoAppViewControllerObject leaderboard] 

Lorsque votre devrait faire ceci:

[someDemoAppViewControllerObject leaderboard:theSenderObject] 

Très souvent self est utilisé comme theSenderObject.

0

est

-(IBAction) leaderboard: (id) sender 

déclaré dans le fichier .h?

+0

Si ce n'était pas le cas, il recevrait juste un avertissement de compilateur lui disant que la classe pourrait ne pas répondre à ce sélecteur. Ne provoquerait aucune exception au moment de l'exécution car le sélecteur est implémenté et existe donc lorsque l'instance reçoit un message. – rastersize