[英]Is there any equivalent to 'strupr' for Xcode (C++) in Mac?
[英]What is the equivalent (if any) to the C++/Windows SendMessage() on the Mac?
具有諷刺意味的是,Objective-C中的每個方法調用都等同於SendMessage。 Objective-C本質上是一個消息傳遞系統。
所以你只說:
[window myMessage]
然后通過將myMessage傳遞給Window對象並使其處理該方法來執行myMessage例程...
還可能更接近您真正想要做的事情是使用Notifications在組件之間進行消息傳遞。
如果在編譯時沒有Window對象,則編譯器可能會抱怨它不知道Window是否可以處理您發送的消息。 對於這些情況,您可以使用:
[window performSelector:@selector(myMessage)]
此調用有替代版本,允許將對象作為參數傳遞。
這取決於您要使用SendMessage()發送的消息。 例如,可可中的大多數事件都通過-[NSApplication sendEvent:]
,如果需要較低版本的版本,則通過SendEventToEventTarget()
。 對於其他消息,例如調整大小,移動等,您需要查看NSWindow的適當方法(例如-setFrame:animated:
或NSApplication。
一般而言,在Cocoa中,無需像SendMessage()那樣使用漏斗例程和函數常量,只需掌握相關對象並調用其方法即可。
在更高層次上,如果您正在談論Carbon事件管理器,則可以使用函數“ SendEventToEventTarget”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.