我的 viewController.m 中有 ac 函数。
int abc(int a, char* b)
{
//do something
}
我也有一个功能
-(void) callIncomingClass
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
//set the position of the button
button.frame = CGRectMake(100, 170, 100, 30);
//set the button's title
[button setTitle:@"Click Me!" forState:UIControlStateNormal];
//add the button to the view
[self.view addSubview:button];
}
现在我想callIncomingClass
从函数 abc 中调用。
你建议我怎么做??
为什么我想从 C 函数调用 Objective C 方法是,我无法在 C 函数中创建按钮或进行类似的处理。
以下代码是否有效:
int abc(int a, char* b)
{
ViewController * tempObj = [[ViewController alloc] init];
[tempObj callIncomingClass];
}
编辑:我在做什么的大图 有ac 库,即library.c 和library.h 文件。library.h 文件有一个具有回调函数的结构。这些需要分配函数指针。所以我有一个带有签名 int abc(int,char*) 的 ac 函数,该函数要分配给结构中的回调函数。
这个函数 abc 在 ViewController.m 中定义。理想情况下,我希望它在单独的文件中定义。但这也没关系。
所以现在,回调事件发生了,我想在视图上创建一个带有一些操作的 UIButton。由于我无法从 ac 函数创建 UIButton,因此我正在调用 ViewController 类的目标 C 方法,该方法创建 UIButton。
希望能清楚地了解我打算如何使用它。