Функция 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.

Надеюсь, что это проясняет картину относительно того, как я планирую использовать это.

Ответы на вопрос(3)

Ваш ответ на вопрос