我正在尝试根据线程编程指南编写有关运行循环的演示。
当我实现 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/