NSNetService 委托和 ARC

发布于 2024-12-29 04:02:21 字数 382 浏览 7 评论 0原文

在我的应用程序中执行以下操作不会调用委托:

NSNetService * bonjourMonitor;
    bonjourMonitor = [[NSNetService alloc] initWithDomain:@"local." type:@"_device-info._tcp" name:@"My Mac"];
    [bonjourMonitor setDelegate:self];
    [bonjourMonitor startMonitoring];

我正在使用自动引用计数。在没有 ARC 的情况下执行相同的操作效果完美。 NSNetService 接缝将在委托被调用之前被释放。

我怎样才能防止这种情况发生?

多谢!

Performing the following in my app won't call the delegate:

NSNetService * bonjourMonitor;
    bonjourMonitor = [[NSNetService alloc] initWithDomain:@"local." type:@"_device-info._tcp" name:@"My Mac"];
    [bonjourMonitor setDelegate:self];
    [bonjourMonitor startMonitoring];

I am using Automatic Reference Counting. Doing the same without ARC works perfect. NSNetService seams to be released before the delegate has been called.

How can I prevent this from happening?

Thanks a lot!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒与心事 2025-01-05 04:02:21

将 bonjourMonitor 定义为 ivar 或 static。

Define bonjourMonitor as an ivar or static.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文