2
我設置上下文的類的創建這樣的插座地址:在我把這個回調轉換CFSocket上下文指針
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);
}
我看到蘋果這樣做的示例代碼,並在整個互聯網上看到樣本。爲什麼當我做到這一點時,它不起作用。每當執行打
PUFTransCont* obj = (__bridge PUFTransCont *)(info);
我得到一個EXC_BAD_ACCESS
它在回調發生之前被釋放。我解決了這個問題。 – Paulpjmmchugh