Функция C, вызывающая целевые функции C
я с функцией в моем viewController.m.
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.
Как вы предлагаете мне идти об этом ??
Почему я хочу вызвать метод Objective C из функции C, яМы не можем создать кнопку или выполнить такую обработку в функции C.
Должен ли работать следующий код:
int abc(int a, char* b)
{
ViewController * tempObj = [[ViewController alloc] init];
[tempObj callIncomingClass];
}
редактировать: общая картина того, что я делаю. Существует библиотека c, то есть файл library.c и library.h. Файл library.h имеет структуру с функциями обратного вызова. Они должны быть назначены с указателями функций. так что я've c функция с подписью int abc (int, char *), которая должна быть назначена функции обратного вызова в структуре.
Эта функция abc определена в ViewController.m. В идеале я хотел, чтобы это было определено в отдельном файле. но это тоже нормально.
Итак, теперь происходит событие обратного вызова, я хочу создать UIButton с некоторым действием в представлении. Как я могуЧтобы создать UIButton из функции c, я вызываю целевой метод C класса ViewController, который создает UIButton.
Надеюсь, что это проясняет картину относительно того, как я планирую использовать это.