ios - NSPortMessage 在 iOS API 中吗?

标签 ios cocoa-touch foundation

我正在尝试根据线程编程指南编写有关运行循环的演示。 当我实现 NSPortDelegate 的 - (void)handlePortMessage:(NSPortMessage *)portMessage; 方法时,它提示错误:

Receiver type 'NSPortMessage' for instance message is a forward declaration

所以我尝试通过“Foundation/NSPortMessage.h”导入,之后显示:

Foundation/NSPortMessage.h file not found.

所以我想知道我们是否可以在iOS中使用NSPortMesssage?

最佳答案

NSPortMessage 似乎不在 iOS 文档中,因此可能是一个私有(private) API。当我尝试使用它时,Xcode 会为我完成 NSPortMessage 的代码,大概是因为前向声明。但是,如果我要求 Xcode 显示 NSPortMessage 的定义,它会说找不到该符号,这将确认它是私有(private) API。

该类存在于我的 iPhone 4s 上的 Objective-C 运行时中,因此它位于设备上。然而 NSPortMessage 允许进程间通信,我认为这会违反 iOS 沙箱安全性。也许它适用于线程间通信。

我当然不会尝试在面向 App Store 的应用程序中使用它。

关于ios - NSPortMessage 在 iOS API 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12384210/

相关文章:

ios - iOS 核心动画如何使用动画设置图像

ios - 如何自动将构建号添加到 Xcode ios 存档

ios - 在模态视图中设置导航项标题

iphone - 在 View 显示之前立即滚动到表中的行

ios - 将平移手势识别器限制为特定圆圈

objective-c - 在 Objective-C 中合并 NSArray

ios - 从 NSMutableArray 中删除对象时出现的奇怪问题

ios - RestKit 性能和核心数据

iphone - UITabBar 选定的色调颜色

objective-c - NSMenu 项目由于不明显的原因变灰/禁用