请问这个函数如何理解?- (void)peerPickerController:(GKPeerPickerController *)picker 
  didConnectPeer:(NSString *)peerID 
   toSession:(GKSession *)session {
[picker dismiss];
picker.delegate = nil;
[picker autorelease];
}我知道,这个其实就是
- (void) didConnectPeer:(NSString *)peerID 
   toSession:(GKSession *)session {

方法名是didConnectPeer,void是返回类型,
参数:
(NSString *)peerID 
 toSession:(GKSession *)session那 peerPickerController:(GKPeerPickerController *)picker  这个是表示什么意思呢?

解决方案 »

  1.   

    方法名是peerPickerController:didConnectPeer:toSession:是带冒号的。
    一个冒号表示一个参数,冒号前面一般是参数的描述,属于方法名的一部分,冒号后是形参
      

  2.   

    你这个方法应该是某个类的代理方法吧。如果是代理方法就好解释peerPickerController:(GKPeerPickerController *)picker 是什么了。 GKPeerPickerController 即为代理方法的“发送者”。 实现这个代理方法的这个类为数据的“接收者” 或称之为“订阅者”
      

  3.   

    一般我们在对某个类添加代理方法时习惯性的会吧类本身也做为参数添加到代理方法如。如uitableview的代理方法
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath;
    其中 tableView:(UITableView *)tableView 如你的peerPickerController:(GKPeerPickerController *)picker 是一个意思
    这样做的好处是,我们可以很方便在数据“接收者”方对数据“发送者”进行操作,作为一个引用传递给“订阅者”