我将上下文设置为创建套接字的类的地址,如下所示:
CFSocketContext ctxt = {0, (__bridge void *)(self), NULL, NULL, NULL};
self.sock = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP, kCFSocketDataCallBack|kCFSocketConnectCallBack, *(CFSocketCallBack)takeCallback, &ctxt);
然后在回调中我放了这个:
static void takeCallback(CFSocketRef s, CFSocketCallBackType callbackType, CFDataRef address, const void *data, void *info)
{
PUFTransCont* obj = (__bridge PUFTransCont *)(info);
}
我看到了执行此操作的 Apple 示例代码,并在互联网上看到了执行此操作的示例。为什么我这样做时它不起作用。每当执行命中
PUFTransCont* obj = (__bridge PUFTransCont *)(info);
我得到一个 EXC_BAD_ACCESS