通常,Xcode 中的自动完成功能会自动完成该类的方法名称,如果该类位于其他对象的委托中,则方法名称如下:
@interface ViewController : UIViewController <UIAlertViewDelegate,
GKPeerPickerControllerDelegate>
但是对于 Game Kit 的方法,要在里面ViewController.m
:
- (void) receiveData:(NSData *)data fromPeer:(NSString *)peer
inSession: (GKSession *)session context:(void *)context {
// ...
}
它似乎不是任何委托方法的一部分,无论是通过 Xcode 的自动完成还是在任何文档中?如果它不是委托的一部分,为什么它与所有其他委托方法的工作方式不同?
更新:如果我搜索所有头文件:
grep -r receiveData /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
包含该行的唯一文件是:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks/GameKit.framework/Headers/GKSession.h:- (void)setDataReceiveHandler:(id)handler withContext:(void *)context; // SEL = -receiveData:fromPeer:inSession:context:
所以它只出现在评论中......