이 질문에 대한 기사를 이미 읽었지만 아무도 내 문제를 해결하지 못했습니다.objective-c 메소드를 콜백 함수로 전달하는 방법은 무엇입니까?
간단히, 내 NSApplicationDelegate에, 내가 콜백으로 함수 포인터를 필요로 pcap_loop
기능 pcap_loop
라고 불리는 콜백 서명은 그래서, 내가 콜백으로 NSApplicationDelegate의 방법 중 하나를 통과 할
void got_packet(u_char *, const struct pcap_pkthdr *, const u_char *)
입니다 내 애플 리케이션에서 이러한 데이터를 사용할 수있는 누군가가 "SEL + IMP"를 사용하여 나에게 제안하지만, 콜백에 self
을 전달할 수 없으며, 누군가 "블록"을 제안했지만 작동하지 않습니다.
그럼, 어떤 생각일까요?
감사합니다.
왜 이것에 Objective-C 방법을 사용해야합니까? C 함수가 필요한 경우 C 함수 (기간)를 전달하십시오. 'self' 포인터가 없으면 다른 것을 할 수 없습니다. –
@ H2CO3 콜백에서 NSApplicationDelegate 인스턴스를 가져와도 될까요? 내 말은, [NSApplicationDelegate sharedInstance] – jiluo
@MartinLuo In Cocoa : [[NSApplication sharedApplication] delegate] 또는 [NSApp delegate]와 같은 것입니다. 그리고 iOS에서 [[UIApplication sharedApplication] delegate] – Emmanuel