首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基础工具中的NSNotificationCenter

基础工具中的NSNotificationCenter
EN

Stack Overflow用户
提问于 2012-05-18 11:31:00
回答 1查看 145关注 0票数 0

我正在创建一个服务器,它必须作为特权助手工具在OS X上运行。在这个服务器中,我尝试使用NSSocketPortNSFileHandleNSNotificationCenter在侦听套接字上执行异步IO。但是,NSNotificationCenter拒绝调用通知处理程序。相关代码如下:

代码语言:javascript
复制
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:调用中将'object‘设置为'listener’,但这没有什么区别。

EN

回答 1

Stack Overflow用户

发布于 2012-05-18 12:00:09

在创建NSFileHandle实例之前,请尝试注册为观察者。如果通知是在init方法期间发送的,则说明您注册得太晚了。(我没有使用NSFileHandle的具体经验,所以这只是一种可能的修复方法。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10646350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档