2012-11-01 61 views
0

我有一個叫MatchmakingServer類有一個方法如下:UIAlertView中這麼想的通話alertView:clickedButtonAtIndex

- (void)session:(GKSession *)session peer:(NSString *)peerID didChangeState:(GKPeerConnectionState)state 

{

switch (state) 
{ 
    case GKPeerStateAvailable: 
     break; 

    case GKPeerStateUnavailable: 
     break; 

     // A new client has connected to the server. 
    case GKPeerStateConnected: 
     if (_serverState == ServerStateAcceptingConnections) 
     { 
      if (![_connectedClients containsObject:peerID]) 
      { 
       NSString *peerID2 =[self displayNameForPeerID:peerID]; 
       self.PeerId=peerID; 
       UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Oops:(" 
                   message:[NSString stringWithFormat:@"%@:%@ %@",@"device",peerID2,@"want to join your session"] 
                   delegate:self 
                 cancelButtonTitle:@"NO" 
                 otherButtonTitles:nil]; 


       [_connectedClients addObject:peerID]; 
       NSLog(@"the orginal peerID %@",peerID); 
       [self.delegate matchmakingServer:self clientDidConnect:peerID]; 
      } 
     } 

@interface MatchmakingServer : NSObject <GKSessionDelegate,UIAlertViewDelegate> 

任何想法,爲什麼alertView不會調用clickedButtonAtIndex

+0

你是否在某個地方叫[alert show]?你是怎麼聲明'clickedButtonAtIndex'的? – pckill

回答

0

您沒有在屏幕上顯示警報視圖,只是初始化它。插入

[alert show]; 

初始化代碼後,你應該沒事。

0

您需要撥打[alert show];方法並在UIViewController.h文件中採用UIAlertViewDelegate