c++ - 什么是 Mac 上 C++/Windows SendMessage() 的等效项(如果有)?

标签 c++ objective-c windows macos

是否有与SendMessage 等价的功能?在 Mac 操作系统中?

最佳答案

具有讽刺意味的是,Objective-C 中的每个方法调用都等同于 SendMessage。 Objective-C 的核心是一个消息传递系统。

所以你只要说:

[window myMessage]

myMessage 例程将通过将 myMessage 传递给 Window 对象并让它处理该方法来执行...

也有可能更接近您真正想要做的事情是使用通知在组件之间传递消息。

如果您在编译时没有 Window 对象,编译器可能会提示它不知道 Window 是否可以处理您发送的消息。对于这些情况,您可以使用:

[window performSelector:@selector(myMessage)]

此调用还有其他版本,允许将对象作为参数传递。

关于c++ - 什么是 Mac 上 C++/Windows SendMessage() 的等效项(如果有)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/933203/

相关文章:

c++ 字符串和指针混淆

c++ - boost::lockfree::queue 正在耗尽我的 CPU

.net - 如何在数据库中存储windows授权信息

c++ - EnableMenuItem 函数无法使用参数 MF_GRAYED

sql - 需要 SQL 方面的专家建议

c++ - Boost 是否支持 Windows EnterCriticalSection API?

c++ - 传递迭代器值而不是对函数的引用

objective-c - 如何在 Cocos2d v3 中设置 CCTextField

ios - 保存UICollectionView的索引路径以在ActionSheet中使用

iphone 开发 : how to set a property of an another viewController then reach it