0

我有这样的方法:

- (void) advertiser:(MCNearbyServiceAdvertiser *)advertiser
didReceiveInvitationFromPeer:(MCPeerID *)peerID
               withContext:(NSData *)context
         invitationHandler:(void(^)(BOOL accept,
                                    MCSession *session))invitationHandler{

我需要复制并存储邀请处理程序。稍后将通过以下方式使用它:

invitationHandler(accept, session);

我怎样才能做到这一点?

4

1 回答 1

0

只需将实例变量添加到您的类(不是属性),并将其存储在那里。在您的班级定义中:

@implementation MyClass {
  void(^invHandler)(BOOL accept, MCSession *session);
}

在您的方法中,将其存储:

invHandler = Block_copy(invitationHandler);

后来,当你想调用它时:

invHandler(accept, session);
于 2013-09-04T21:47:58.993 回答