[Masalah] Saya menggunakan GCDAsyncSocket untuk pemprosesan Soket Tcp Jika saya berada dalam program utama, saya boleh mengendalikan panggilan balik hasil seperti biasa, tetapi saya mahu merangkum pemprosesan Soket dalam perpustakaan dan melengkapkan pengamulaan Soket. dan Maklumat diterima dan diproses, tetapi saya mendapati bahawa saya tidak tahu bagaimana untuk mencetuskan panggilan balik?
[Kod]
Jika anda melakukan ini terus dalam urutan utama:
Permulaan
GCDAsyncSocket *_socket;
_socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
Sambung Sambung
[self._tcpSocket connectToHost:deviceIp onPort:SERVERPORT error:&err]
Pada masa ini, panggilan balik untuk sambungan yang berjaya boleh dicetuskan seperti biasa
-(void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port
{
NSLog(@"didConnectToHost call");
}
Tetapi jika saya meletakkan proses di atas dalam perpustakaan dan memanggilnya melalui program utama, maka panggilan balik didConnectToHost tidak boleh dicetuskan
Saya rasa ini kerana saya tidak faham _socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];
Terima kasih semua
闭关修行中......