我想導入運行時的頭使用objc_msgSend,但我發現:如何#IMPORT <NSObjCRuntime.h>使用objc_msgSend
error: NSObjCRuntime.h: No such file or directory
我應該添加一些標題搜索路徑?
我想導入運行時的頭使用objc_msgSend,但我發現:如何#IMPORT <NSObjCRuntime.h>使用objc_msgSend
error: NSObjCRuntime.h: No such file or directory
我應該添加一些標題搜索路徑?
您需要包含<objc/message.h>
(您將在/usr/include/objc
中找到相關標題)並鏈接到objc
(/usr/lib/libobjc.dylib
)庫。
#import <Foundation/NSObjCRuntime.h>
沒有工作
,但你可能需要
#import <objc/runtime.h>
UPD:由於iOS的7 #import <Foundation/NSObjCRuntime.h>
替換爲#import <objc/NSObjCRuntime.h>
,但我建議使用#import <objc/runtime.h>
反正
`objc_msgSend`方法在`
使用的Xcode 6和更高版本,您將在之後收到錯誤。它可以解決這樣
#include <objc/message.h>
void foo(void *object) {
typedef void (*send_type)(void *, SEL, int);
send_type func = (send_type)objc_msgSend;
func(object, sel_getUid("foo:"), 5);
}
http://devstreaming.apple.com/videos/wwdc/2014/417xx2zsyyp8zcs/417/417_whats_new_in_llvm.pdf
它的工作!你能分享你在哪裏找到的?我瀏覽過蘋果文檔,google代碼搜索,沒有任何東西! – 2011-02-04 10:04:33