[学习记录]Objective-C回调函数(函数指针)

来源:互联网 发布:linux查看log日志 编辑:程序博客网 时间:2024/06/05 08:36

网上找的都不好使,那些什么传递函数名称字符串什么的,不是我想要的效果!

简单记录一下:


1.首先定义回调函数:

int myCallback(NSString * str) {    //函数形式是这种经典格式    NSLog(@"调用call -> %@",str);    //获取到参数并输出    return 10086;                   //返回值}



2.在类中(或者其他什么地方都行)调用:

@implementation MyClass+ (void) getdata:(int(*)(NSString *))mycall //(int (*)(NSString *))为mycall的函数指针类型,int为返回值类型,NSString *是参数类型{    int ret = mycall(@"传递参数");           //执行回调函数,ret取得返回值    NSLog(@"%d",ret);                       //取得返回值10086}@end


3.测试调用函数:

int main() {    MyClass *test = [[MyClass alloc] init];            //实例化    [test getdata:(int (*)(NSString *))myCallback];    //调用测试,函数myCallback如果在别的文件中应该#import    return 0;}


0 0
原创粉丝点击