oc调用swift_oc调用swift 单例 - CSDN
  • OC 引用并调用Swift文件

    千次阅读 2019-07-24 17:09:03
    1、我们先创建一个OC的项目MyFirstOCUseSwiftDemo 2、我们点击Target看到右边选择Build Settings,把Defines Module改为YES, 3、我们回到工程目录下,New File一个Swift File,起名为MyFristSwift,此时会...

    1、我们先创建一个OC的项目MyFirstOCUseSwiftDemo

    2、我们点击Target看到右边选择Build Settings,把Defines Module改为YES,

    3、我们回到工程目录下,New File一个Swift File,起名为MyFristSwift,此时会弹框提示我们是否创建一个桥接文件,如图:

    4、创建好之后我们再次选择项目的Target看到右侧的Build Settings选项,往下滑动会看到这样一个目录:

    此时是系统为我们自动创建了桥接"项目名-Swift"文件和"项目名-Bridging-Header"文件;

    5、接下来我们开始创建自己的Swift文件,新建一个Swift起名为:MyFristSwift,它看起来应该长这样:

    import Foundation
    import UIKit
    
    
    class MyFristSwift: UIViewController {
        
        override func viewDidLoad() {
            super.viewDidLoad()
         
            self.view.backgroundColor = UIColor.green
    
        }
        
        
        
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    }

    6、接下来我们要在OC的控制器(也就是你想要调用Swift的OC控制器)里边import一下第四步图中展示的swift文件,此时注意的是这个头文件是手动写的,你也可以在第四步中复制Objcective-C Generated Interface Header Name对应的值;

    7、好了,这是最后一步,在OC控制器中 创建一个按钮进入我们的swift页面吧,它应该是这样的:

    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view.
        //创建属于我们自己的按钮
        [self.view addSubview:self.nextBtn];
    
    }
    - (void)nextBtnClicked:(UIButton *)btn{
        // 使用Swift的类
        MyFristSwift *swiftVC = [[MyFristSwift alloc] init];
        [self presentViewController:swiftVC animated:YES completion:nil];
    }
    -(UIButton *)nextBtn{
        
        if (!_nextBtn) {
            
            _nextBtn = [UIButton buttonWithType:UIButtonTypeCustom];
            _nextBtn.frame = CGRectMake(40, 100, 100, 44);
            _nextBtn.layer.masksToBounds = YES;
            _nextBtn.layer.cornerRadius = 4;
            _nextBtn.titleLabel.textAlignment = NSTextAlignmentCenter;
            [_nextBtn setTitle:@"进入Swift" forState:UIControlStateNormal];
            [_nextBtn setBackgroundColor:[UIColor brownColor]];
            [_nextBtn addTarget:self action:@selector(nextBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
        }
        return _nextBtn;
    }
    

     

    展开全文
  • OC调用Swift方法

    千次阅读 2018-05-02 15:36:48
    第一步:创建桥接文件第二步:配置桥接文件第三步:创建pch文件并配置其路径 第四步:在pch文件中导入如下头文件,注意:...,这里的xxx就是第二步中的Module name, 注意不要写错了 第五步:OC中直接调用Swift...

    第一步:创建桥接文件


    第二步:配置桥接文件




    第三步:创建pch文件并配置其路径

     

    第四步:在pch文件中导入如下头文件,注意:import "xxx-Swift.h",这里的xxx就是第二步中的Module name, 注意不要写错了

     

    第五步:OC中直接调用Swift



    展开全文
  • OC工程调用Swift方法

    万次阅读 2017-01-11 11:45:08
    1.建一个OC工程命名为SwiftOC 2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h” 3.配置工程 设置Defines Module 为Yes ...

    为防止出问题,建议以这样的方法做:
    1.建一个OC工程命名为SwiftOC
    这里写图片描述
    2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h”
    这里写图片描述

    这里写图片描述
    3.配置工程
    设置Defines Module 为Yes
    这里写图片描述
    设置Product Module Name 为当前工程名
    这里写图片描述

    此时系统会为工程创建一个“上面所填Product Module Name-Swift.h”的文件,此文件不可手动创建,必须使用系统创建的

    4.创建一个Test2.swift
    这里写图片描述

    import Foundation
    public class HH:NSObject
    {
    
        public func show()
        {
         print("hello")
        }
    }

    5.在OC文件中引用swift

    
    #import "ViewController.h"
    //导入时需要手动打上,系统没有提示
    #import "SwiftOC-Swift.h"
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        HH *VC=[[HH alloc]init];
        [VC show];
    }
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    展开全文
  • OC代码中使用Swift文件的实践

    千次阅读 2018-05-31 11:32:11
    最近在研究swift,就我看来,swift确实是比OC更优秀的语言,这可以体现在很多方面,网上已经对比的很透彻,就不一一赘述。 今天研究了一下如何在OC项目中使用swift文件,即OCswift的混编问题,发现在OC中要使用...

    最近在研究swift,就我看来,swift确实是比OC更优秀的语言,这可以体现在很多方面,网上已经对比的很透彻,就不一一赘述。
    今天研究了一下如何在OC项目中使用swift文件,即OC和swift的混编问题,发现在OC中要使用swift文件也是蛮简单的,实践过程列如下:
    1)首先随便创建了一个OC项目,就叫 DetialViewDemo
    这里写图片描述
    2)因为Swift的代码默认是使用module管理的,所以两者混编的最重要的一步,就是把我们的Swift代码作为一个module暴露给OC工程,具体步骤如下:
    这里写图片描述
    3)创建一个swift文件或者将已有的swift文件拖入项目中,我这里是拖入了一个练习swift写的一个类:
    这里写图片描述
    注意点:swift文件添加的时候会提示是否添加桥接文件,直接点击不创建就OK
    4)好了,文件都准备好了,接下来就需要在使用到swift文件的类中引入”Product Module Name-Swift.h”,其中Product Module Name其实就是项目的名称,这个在上面配置Module的图中也能看到,然后我们就可以愉快地和swift进行玩耍了
    这里写图片描述
    注意:引入Product Module Name-Swift.h的时候不一定自动提示,手写之后编译就可以了

    当然,我很好奇这是怎么回事,然后我就command+点击 Person 进入了内部查看,发现原来苹果将所有的swift文件中的代码转成了oc的代码,不管你引入多少个swift文件,都会一股脑在Product Module Name-Swift.h文件中翻译成oc文件以便我们oc程序调用
    这里写图片描述

    怎么样,很强大吧,朋友们赶紧转过来吧,开始自己的swift开发,这绝对是苹果的未来啊!

    展开全文
  • oc调用swift

    千次阅读 2015-11-14 18:05:06
    OC调用Swift 如果你想在Objective-C工程中,嵌入Swift文件,实现OC调用Swift,那么这篇文章就能帮助你,由于本人最近在开发Swift项目,所以实现过OC调用Swift,在这过程中遇到过一些瓶颈,特此,将此文奉上,供大家...
  • 之前在开发是遇到了在OC文件中调用Swift对象的变量调用不到的问题,这里总结一下: 1.首先我们一个Swift项目TestProject。 2.建立一个Swift的文件继承自NSObject名字为SwiftFile.swift,并声明一个字符串变量...
  • 最新一些学妹问起,所以抽点时间来写的,适合入门级别的swiftOC 混编 的程序猿。 本文章将从两个方向分别介绍 OCswift 混编 1. 第一个方向从 swift工程 中引入 oc类   1. 1 如何在swift的类中使用...
  • OC 调用 Swift 方法

    千次阅读 2018-09-06 11:47:34
    1.新建Swift文件之前做以下设置 2.创建Swift文件后,会提示创建桥接文件,点击创建 3.Swift 类 import Foundation class RealmManager: NSObject { override init() { super.init() } @objc func ...
  • iOS oc 调用 swift

    2019-07-03 07:14:24
    如股票oc调用swift里面的代码 需要包含固定这个头文件 项目名称 LiqunSwiftDemo-Swift.h #ProjectName#-Swift.h 固定的写法 swift 目的 是取代oc 但是 不会完全取代 只是前端的替换 LiqunSwiftDemo-Swift 点...
  • 本文章将从两个方向分别... 1 如何在swift的类中使用oc类 1.2 如何在swift中实现oc的代理方法 1.3 如何在swift中实现oc的Block回调 2 二个方向从OC工程中引入swift类    2.1 如何在OC类中使用swift类 2.2 如何...
  • iOS ocswift相互调用

    2020-09-04 16:59:32
    oc调用swift 在需要调用swift的oc文件中引入“ProjectName-Swift.h” #import "ProjectName-Swift.h" 注意: 调用的swift类必须继承于NSObject, 不是继承自NSObject的类或是swift的结构体oc是无法调用的 swift...
  • oc 调用 Swift 创建的单例 (Swift4)

    千次阅读 2018-10-17 17:00:45
    Swift创建了这样的一个单例 @objc open class Danli: NSObject { static let ... //在oc中这样写才能被调用 @objc open class func sharedInstance() -> Danli { return NFX.sw...
  • iOS开发中OC调用Swift报错

    千次阅读 2018-03-07 12:28:39
    场景描述:在OC类的方法中,调用Swift类的方法,报错:No visible @interface for ‘CCC’ declares the selector ‘MMM’(CCC为类名,MMM为方法名) // OC中的方法: - (void)test { NSLog(@"hello ...
  • iOS OC调用Swift

    2019-10-17 17:10:34
    iOS OC调用Swift 需要四步就能完成 第一步 Build Settings->Defines Module 设置为 YES MOdule Name 配置工程名 第二步 把swift 拖入项目,会提示是否创建桥接文件,选择创建 非拖入式,没有提示 手动创建 选择 ...
  • 最近在oc工程里要引用swiftMonkeypaws,需要使用oc调用swift技术,里面踩了很多坑,这里简单记录一下。 1、oc调用swift oc调用swift其实很简单,google一下就有很多的教程,可以参考文章1、2、3、4。总体上就是在要...
  • [Swift]1.在OC项目里的OC代码调用Swift方法,Swift代码里调用OC代码。2.在Swift项目里的Swift代码里调用OC代码,OC代码调用Swift方法。
  • oc 调用 swift Demo

    2016-02-04 16:41:59
    https://github.com/xiangyangzhang/OC_Call_Swift 源码
  • swiftOC混编(方法调用

    万次阅读 2016-02-12 10:35:31
    OC调用SwiftOC调用Swift方法比较简单。但是需要注意以下几点: 1.需要在当前OC类里导入xxx-Swift.h头文件,其中xxx为项目名称(与你的项目配置相关,具体配置方式见上一篇文章) 2.OC类里仅可以调用public的Swift...
  • OCswift相互调用

    千次阅读 2017-04-26 11:39:33
    一、OC调用swift文件 二、swift调用OC文件 三、注意和总结 添加: 四、自定义桥接文件  一、OC调用swift文件  在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定...
  • 所以慢慢多了很多OC混编Swift的项目,但是其实swift调用OC还是挺简单的,把OC项目慢慢转成swift问题不大。swift可以算是OC更上层的语言,我这里说的坑都是关于SwiftOC的,很奇葩吧,还有把Swift项目转成OC的,一句...
1 2 3 4 5 ... 20
收藏数 9,322
精华内容 3,728
关键字:

oc调用swift