2012-08-22 38 views
3

進出口目前做一個應用程序時遇到了一些困難,這裏是代碼:無效的參數類型void以一元表達

-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)ButtonIndex { 
       if (ButtonIndex == 1) { 

        - (void) reportScore: (int64_t) score forCategory: (NSString*) category 
        { 
         GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:@"123"] autorelease]; 
         scoreReporter.value = score; 

         [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) { 
          if (error != nil) 
          { 
           // handle the reporting error 
          } 
         }]; 
         else if (ButtonIndex==2){ 
          - (void) showLeaderboard: 
          { 
           GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init]; 
           if (leaderboardController != nil) 
           { 
            leaderboardController.leaderboardDelegate = self; 
            [self presentModalViewController: leaderboardController animated: YES]; 
           } 
          } 

         } 

        } 


        -(void) leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController{ 

         [self dismissModalViewControllerAnimated:YES]; 

        } 



        } 



       } 

我的問題是,上線: - (無效)reportScore:(的int64_t) ............ 它說「無效的參數類型無效的一元表達式」

請幫助,謝謝。

+0

你爲什麼要試圖在方法中聲明方法? –

+0

是的,但我不知道該把它放在哪裏,以及如何通過這個 – user1612646

回答

2

你正在另一種方法中聲明方法,你不能這樣做。分別聲明所有方法,並在適當的地方調用它們。

- (void) reportScore: (int64_t) score forCategory: (NSString*) category 
{ 
        GKScore *scoreReporter = [[[GKScore alloc] initWithCategory:@"123"] autorelease]; 
        scoreReporter.value = score; 

        [scoreReporter reportScoreWithCompletionHandler:^(NSError *error) { 
         if (error != nil) 
         { 
          // handle the reporting error 
         } 
        }]; 
} 
- (void) showLeaderboard: 
    { 
         GKLeaderboardViewController *leaderboardController = [[GKLeaderboardViewController alloc] init]; 
         if (leaderboardController != nil) 
         { 
          leaderboardController.leaderboardDelegate = self; 
          [self presentModalViewController: leaderboardController animated: YES]; 
         } 
    } 
-(void) leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController 
{ 

       [self dismissModalViewControllerAnimated:YES]; 

} 
-(void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)ButtonIndex { 
      if (ButtonIndex == 1) 
      { 
       [self reportScore:score forCategory:cat]; 
      } 
      else if (ButtonIndex==2) 
      { 
       [self showLeaderboard]; 
      } 

} 
+0

乾杯的人,但有一件事,我在節目排行榜上看到一個錯誤:「 - (void)showLeaderboard:{」the error模糊地說「預期標識符」並指向括號。請幫忙。再次感謝您的第一點建議 – user1612646

+0

哎呀,錯過了那個錯誤。拿出:在showLeaderboard之後。 它應該只是讀 - (void)showLeaderboard { –

+0

k非常感謝你! – user1612646

相關問題