我想导入运行时的头使用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