sách gpt4 ai đã đi

Cocoa NSNotificationCenter 应用程序之间通信失败

In lại 作者:行者123 更新时间:2023-12-03 16:26:11 27 4
mua khóa gpt4 Nike

我需要在两个不同的控制台应用程序(观察者和客户端)之间进行通信。

在观察者应用程序中,我添加了以下代码:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MyNotification" object:self];

在客户端应用程序中,我添加了以下代码:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(trackNotification:) name:@"MyNotification" object:nil];

-(void)trackNotification:(NSNotification*)notif
{
NSLog(@"trackNotification: %@", notif);
NSLog(@"trackNotification name: %@", [notif name]);
NSLog(@"trackNotification object: %@", [notif object]);
NSLog(@"trackNotification userInfo: %@", [notif userInfo]);
}

但什么也没发生。我阅读了所有文档,但我对 Mac OS X 是全新的。有什么想法吗?

<小时>

我阅读了有关分布式通知的信息,我更改了代码,现在看起来像这样:在服务器端:

[[NSDistributedNotificationCenter defaultCenter] addObserver:self selector:@selector(trackNotification:) name:@"MyNotification" object:nil];

-(void)trackNotification:(NSNotification*)notif
{
NSLog(@"trackNotification: %@", notif);
NSLog(@"trackNotification name: %@", [notif name]);
NSLog(@"trackNotification object: %@", [notif object]);
NSLog(@"trackNotification userInfo: %@", [notif userInfo]);
}

在客户端:

NSMutableDictionary *info;
info = [NSMutableDictionary dictionary];
[info setObject:@"foo" forKey:@"bar"];

[[NSDistributedNotificationCenter defaultCenter] postNotificationName:@"MyNotification"
object:nil
userInfo:info
deliverImmediately:YES];

我运行了这两个应用程序,但没有任何反应。我做错了什么?

1 Câu trả lời

NSNotificationCenter 仅适用于一个应用内的通知。您想要NSDistributedNotificationCenter 。您可以在Notification Programming Topics中找到更多详细信息.

关于Cocoa NSNotificationCenter 应用程序之间通信失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615820/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com