gpt4 book ai didi

cocoa - 基础工具中的 NSNotificationCenter

转载 作者:行者123 更新时间:2023-12-03 17:57:51 25 4
gpt4 key购买 nike

我正在创建一个必须在 OS X 上作为特权帮助工具运行的服务器。在其中,我尝试使用 NSSocketPort , NSFileHandle ,和NSNotificationCenter在监听套接字上执行异步 IO。然而,NSNotificationCenter拒绝调用通知处理程序。相关代码如下:

NSSocketPort* sock = [[NSSocketPort alloc] initWithTCPPort:8080];
NSFileHandle* listener = [[NSFileHandle alloc] initWithFileDescriptor:sock.socket closeOnDealloc:NO]
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(onConnection:) name:NSFileHandleConnectionAcceptedNotification object:nil]

我的主线程正在运行[NSRunLoop.mainRunLoop run] ,所以这不是问题。我尝试在 addObserver: 中将“对象”设置为“监听器”打电话,但这没有什么区别。

最佳答案

在创建 NSFileHandle 实例之前尝试注册为观察者。如果通知是在 init 方法期间发送的,那么您注册得太晚了。 (我没有使用 NSFileHandle 的具体经验,因此这只是对可能修复的预感。)

关于cocoa - 基础工具中的 NSNotificationCenter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10646350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com