如果我有:
测试.c
int test_func(){
}
我想做:
测试.m
[self test_func]
我的.h
文件应该如何设置test.c
。我在这里看到了这样一个问题的答案,但我没有给它添加书签,我无法追踪它。它涉及.h
带有extern
命令的文件。任何帮助,将不胜感激。
如果我有:
测试.c
int test_func(){
}
我想做:
测试.m
[self test_func]
我的.h
文件应该如何设置test.c
。我在这里看到了这样一个问题的答案,但我没有给它添加书签,我无法追踪它。它涉及.h
带有extern
命令的文件。任何帮助,将不胜感激。
可以以test_func
特殊方式声明并使用各种 Objective-C 运行时 API 函数将该方法实现“附加”到类的方法列表中,但最简单的方法是:
测试函数.h
#ifndef TESTFUNC_H
#define TESTFUNC_H
int test_func();
#endif
测试函数.c
#include "testfunc.h"
int test_func()
{
return 4;
}
测试类.h
#import <Foundation/Foundation.h>
@interface TestClass : NSObject
- (int) test_func;
@end
测试类.m
#import "TestClass.h"
#import "testfunc.h"
@implementation TestClass
- (int) test_func
{
return test_func();
}
@end
如果您仍然热衷于尝试在运行时添加方法,请查看以下链接:
值得注意的是,对于像调用 C 函数这样微不足道的事情,为了可维护性和可读性,您应该避免动态方法注入/解析。除非您有未在问题中解释的不可告人的动机,否则请坚持使用 A 计划(简单路线)!