Swift调用OC和C

来源:互联网 发布:绿色贸易壁垒的数据 编辑:程序博客网 时间:2024/06/06 01:21

Swift文件:main.swift

import Foundation//Swift调用C函数desc1()//Swift调用OC//拿到OC类var funcClass = Root()funcClass.desc2()

OC文件:Root.h

#import <Foundation/Foundation.h>@interface Root : NSObject-(void)desc2;@end

Root.m

#import "Root.h"@implementation Root//求和函数//1、定义函数int sum2(int a, int b){    return a+b;}-(void)desc2{    //2、声明Block    int (^p)(int, int);        //3、函数指针指向函数    //    p = sum2;    p = ^(int a, int b) //把函数赋值给Block    {        return a+b;    };        //4、使用    int result = p(10, 40);    printf("OC方法输出result:%d\n", result);}

C函数文件:

Fun.c

#include <stdio.h>//求和函数//1、声明函数int sum1(int a, int b){    return a+b;}void desc1(){    //2、声明函数指针    int (*p)(int, int);        //3、函数指针指向函数    p = sum1;        //4、使用    int result = p(10, 20);    printf("C函数输出结果:%d\n", result);}

桥接文件:工程名称-Bridging-Header.h

//这里面需要导入 桥接的C或OC的头文件//导入C函数void desc1();//导入OC头文件#import "Root.h"


0 0
原创粉丝点击