Swift调用OC和C

原创 2015年07月09日 14:48:17

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"


版权声明:本文为博主原创文章,未经博主允许不得转载。

Swift和Objective-C混合编程——OC调用Swift

既然讲的是Swift和OC的混合编程,我的上一篇博客《》

Swift和Objective-C混合编程——Swift调用OC

在iOS应用的开发中,Swift必将取代OC,两者的趋势是“短期共存,长期取代”。但以前有太多的代码是用OC语言完成的,而Swift的开发也从 OC中继承了很多的特性,两者也是有很多的类似之处。目前S...

Oc调用 swift

  • 2016年07月16日 23:54
  • 47KB
  • 下载

OC调用swift的DEMO

  • 2017年07月12日 11:43
  • 81KB
  • 下载

c ---内存管理 对理解OC、swift内存管理有帮助

我们写了这么多年的程序员,可能理论方面还比不上大学生。有人 "嘘"我了,如果有能回答以下几个问题的同学请举手: 1.面试经常遇到:同学请说说堆栈的区别? 2.同学请说说一个函数在堆栈中调用过程(首...

穿梭在C/OC/Swift中的枚举

ENUM-枚举

Vickate_Swift2.0的方法总结 及 与C/OC的语法区别

//import UIKit // //// var 定义可变字典 //// 变量的声明规则 //var str1 = “unique” //let str2 = “你好” ////str...
  • iOS_Bay
  • iOS_Bay
  • 2015年10月22日 21:29
  • 230

swift与c,oc的区别

1.不需要写main函数,最先写的代码为入口,代码从上往下执行2.一行有多条语句是加“;”,swift中没有“@” print(age) print("年龄是\(age)...
  • Kaiccy
  • Kaiccy
  • 2016年08月12日 16:36
  • 216

Swift基础--调用第三方OC项目

Swift与OC进行混编,首先要有一个.h文件,这里使用Bridging-Header.h然后设置项目的Build Settings--Swift Compiler--Objective-C Brid...

如何在xcode中上使用OC无缝调用Swift

首先,在项目中时常会使用到OC和Swift之间的混合调用,但是很多都会调用失败,也不知道如何调用,现在小编和大家分享一下如何混合使用OC和Swift: 新建一个基于Swift的工程,在Swift里面...
  • IOSWEB
  • IOSWEB
  • 2015年11月05日 10:19
  • 858
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift调用OC和C
举报原因:
原因补充:

(最多只允许输入30个字)