zoukankan      html  css  js  c++  java
  • Swift调用OC和C

    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
    ", 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
    ", result);
    }

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

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


  • 相关阅读:
    01.mp4v2应用—mp4转h264
    00.mp4v2工具的用法
    交叉编译x264和ffmpeg
    pcm2aac
    保存一下东西
    05.移植内核3.4.2
    04.移植u-boot
    03.应用程序调试
    关于 jxl 下载 excel (java)
    JXL 对excle 操作(单元格合并,列宽,格式等)
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/6709470.html
Copyright © 2011-2022 走看看