从ac函数调用obj-c对象

dub*_*eat 3 c iphone objective-c

我有一个在c中执行的函数.当满足某个条件时,我想改变UIButton的状态.我试图发送NSNotification,但这不起作用.

从ac函数向obj-c对象发送消息的好方法是什么?

理想情况下,我想以某种方式使用NSNotification

Joe*_*Joe 5

C代码需要在.m文件中.如果不是,那么在你的.m中添加一个C回调函数,可以发布你的通知或为你做其他事情.以下是访问在.m文件之外调用C函数的Objective-C类的示例.

//SomeCCode.c
void someCFunction(int somevar, void (callback) (void*) , void *context)
{
    doSomething(somevar);
    callback(context);
}

//SomeClass.m
void someCCallbackInObjC(void *context)
{
    SomeClass *myclass = (SomeClass*)context;
    //Access my class or just post notification
}

@implementation SomeClass

...
-(void)someMethod
{
    someCFunction(0, someCCallbackInObjC, self);
}
...

@end
Run Code Online (Sandbox Code Playgroud)