精华内容
下载资源
问答
  • 1.swift 混编 oc 第一步:新建一个swift 的工程 第二步:新建或者导入oc文件,在这里我新建了一个oc的视图 第三步:新建桥文件 在桥文件中导入相应的头文件 第四步:设置相应...

    1.swift 混编 oc

    第一步:新建一个swift 的工程



    第二步:新建或者导入oc文件,在这里我新建了一个oc的视图



    第三步:新建桥文件




    在桥文件中导入相应的头文件



    第四步:设置相应的targets


    注意 Objective-C Bridging Header 是文件所属的位置 ,如若编译器报找不到文件,请检查文件路径


    第五步:在swift 代码里面调用oc代码


    2.oc 混编 swift 

    第一步:新建一个工程,oc或者swift的工程都可以,在这里我们沿用上面那个工程

    第二步:新建或者导入swift的文件,在这里我新建一个swift文件


    第三步:在需要在oc文件里面调用的swift文件里面加入

    @objc(ClassName)



    第四步:设置相应的targets



    Defines Medule  设置为 YES

    PRODUCT_MODULE_NAME , PRODUCT_NAME 一般默认为工程名不用设置

    第五步:在oc里面调用swift代码




    demo 链接:http://pan.baidu.com/s/1hqivjt6

    展开全文
  • swift混编oc碰到的问题

    2016-09-04 21:30:00
    swift混编苹果官方的Reachability OC文件。 因为swift工程的target是生成framework而非app,framework中调用oc与app中使用桥接文件还不一样,参考: ... 主要步骤为: ...1.将Reachablity.m 和.h文件加入到工程中....

    在swift中混编苹果官方的Reachability OC文件。

    因为swift工程的target是生成framework而非app,framework中调用oc与app中使用桥接文件还不一样,参考:

    http://blog.csdn.net/cooldragon/article/details/50172649

     

    主要步骤为:

    1.将Reachablity.m 和.h文件加入到工程中

    2.在ESPlus.h 中最后加上 (ESPlus为Framework名称)

    #import <ESPlus/Reachability.h>

    然后编译可能会出现错误: Include of non-modular header inside framework module 'ESPlus',则进入3

    3.进入Build Phases,Headers中,把OC头文件Reachability.h从Project中拖到Public中

    编译OK.

     

    第2步中,因为手打的文件名少了一个字母(写成Reachablity.h),出现了#import   ‘ .h' file not found 错误,网上搜说是什么路径错误,

    其实还是自己路径写错了,保险的方法是选中Reachability.h,看做xcode右侧边栏 查看文件信息,复制文件的相对路径过去。

    转载于:https://www.cnblogs.com/mlj318/p/5840386.html

    展开全文
  • OCSwift 混编 OC 中调用 Swift

    千次阅读 2016-02-18 16:38:07
    运行OK,说明我们已经成功在OC中使用了Swift 方法和类。 8、下面看看二个动效的Swift类,同样的方法: [html]   view plain   copy [self.view addSubview:({  ...

    1、创建一个Object-C工程:SwiftInObjectC


    2、创建一个Object-C的类:SwiftLan(注意选择)


    当创建完成后,Xcode提示下面警告,会提问我们需不需要创意一个Bridge,当然我们选择“Yes”。


    这样会在工程中看到一个“SwiftInObjectC-Bridging-Header.h”文件。这个文件的作用可以根据注释看出来:


    [html] view plain copy
    1. //  
    2. //  Use this file to import your target's public headers that you would like to expose to Swift.  
    3. //  

    3、下面一步是我们要修改“Bulid Setting” 中的 Defines Module 设置为“Yes” ,同时再看看Product Name 是不是工程的名字。如果是就不用管了

    如果不是就改为工程名字。


    4、在ViewController中引入头文件 #import "SwiftInObjectC-Swift.h"SwiftInObjectC是设置的Product Name

    5、在修改我们创建的SwiftLan 类如下:

    [html] view plain copy
    1. class SwiftLan: NSObject {  
    2.   
    3.     /*  
    4.     // Only override drawRect: if you perform custom drawing.  
    5.     // An empty implementation adversely affects performance during animation.  
    6.     override func drawRect(rect: CGRect) {  
    7.         // Drawing code  
    8.     }  
    9.     */  
    10.     @objc(initWithData:)  
    11.     init(data: String){  
    12.         println(data);  
    13.     }  
    14.   
    15. }  

    6、在ViewController类中创建实例子如下:

    [html] view plain copy
    1. SwiftLan *tempString = [[SwiftLan alloc] initWithData:@"Test Swift"];  
    2. NSLog(@"%@",tempString);  

    7、然后Build & Run 可以在 控制台看见:


    运行OK,说明我们已经成功在OC中使用了Swift 方法和类。

    8、下面看看二个动效的Swift类,同样的方法:

    [html] view plain copy
    1. [self.view addSubview:({  
    2.         NVActivityIndicatorType type  = NVActivityIndicatorTypePacman;  
    3.         NVActivityIndicatorView *temp = [[NVActivityIndicatorView alloc] initWithFrame:CGRectMake(0,0,80,80) type:type];  
    4.         temp.center = self.view.center;  
    5.         [temp startAnimation];  
    6.         temp;  
    7.     })];  
    8.       
    9.     [self.view addSubview:({  
    10.         _testLabel = [[LTMorphingLabel alloc]initWithFrame:CGRectMake(0,200,self.view.bounds.size.width,80)];  
    11.         _testLabel.text = @"";  
    12.         _testLabel.textAlignment = NSTextAlignmentCenter;  
    13.         _testLabel.textColor = [UIColor whiteColor];  
    14.         _testLabel.font = [UIFont systemFontOfSize:28];  
    15.         _testLabel;  
    16.     })];  
    效果如下:


    9、说明的一点是Swift的 Enum和 OC的 Enum 的 转换 :

    原来的:

    [html] view plain copy
    1. public enum NVActivityIndicatorType  {  
    2.     case Blank  
    3.     case BallPulse  
    4.     case BallGridPulse  
    5.     case BallClipRotate  
    6.     case SquareSpin  
    7. }  

    添加新的:

    [html] view plain copy
    1. @objc public enum NVActivityIndicatorType :Int{  
    2.     case Blank  
    3.     case BallPulse  
    4.     case BallGridPulse  
    5.     case BallClipRotate  
    6.     case SquareSpin  
    7. }  
    做了上面的转变后在OC中就可以使用Swift的Enum类型了

    使用方法如下:

    [html] view plain copy
    1. //NVActivityIndicatorType type  = NVActivityIndicatorTypePacman;  
    2. //NVActivityIndicatorType type  = NVActivityIndicatorTypeBallClipRotate;  
    3. //NVActivityIndicatorType type  = NVActivityIndicatorTypeBallScale;  

    注意是NVActivityIndicatorType无缝连接 具体某个枚举的类型Pacman,变为了“NVActivityIndicatorTypePacman”


    源代码下载


    转自:http://blog.csdn.net/justinjing0612/article/details/47752367

    展开全文
  • ocswift混编OC调用swift,swift调用OC

    1、oc工程调用swift-----自动创建桥接头文件

    创建一个oc工程:


    设置Product Module Name = 工程名



    创建一个swift文件:

    点击自动创建桥接头文件:



    设置Objective-C Bridging Header 如下图:



    至此,我们可以在oc中调用swift了

    测试代码:


    import Foundation
    
    class Student: NSObject {
        var name : String = "dzl"
        var age : Int = 22
    }

    在oc中引入头文件  "工程名-swift.h" 就可以使用swift中的类了

    注:这个头文件是不可见的

    #import "ViewController.h"
    
    #import "OCuseSwift1-swift.h"
    
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Do any additional setup after loading the view, typically from a nib.
        
        Student * s1 = [[Student alloc] init];
        NSLog(@"%@", s1.name);
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end

    输出:

    2015-11-13 10:01:32.250 OCuseSwift1[1040:20007] dzl

    此时swift也是可以引用OC的,只需将swift需要使用的oc类头文件在桥接头文件中引入即可,






    2、oc工程调用swift-----手动创建桥接头文件


    首先创建一个oc工程,与上面相同

    然后创建一个swift文件,但是不选择创建桥接头文件,如图:



    然后手动创建桥接头文件,就相当于创建一个普通的头文件一样,只是命名一定要严格按照规则:



    工程设置中指定桥接头文件:


    经测试,oc引用swift或者swift引用oc都是可以的,测试方法与上面相同,这里不再赘述。



    3、swift工程调用-----自动创建桥接头文件 和 手动创建桥接头文件,基本与上面操作一直,不再详述




    其实桥接头文件里面引入oc头文件,是为了swift可以访问oc文件,

    在oc中引入   工程名-swift.h   文件  是为了oc可以访问swift,但这个文件是不可见的,不过可以通过command+鼠标左键查看该文件



    展开全文
  • 有些时候swift开发中,经常遇到一种情况...这时候就需要进行混编。 点击create bridging header,xcode会帮助我们创建一个桥接文件,命名为“项目名称-Bridging-Header”。我们可以把需要用的OC类的在此文件中导入。
  • OCSwift混编.pdf

    2020-05-06 17:03:05
    OC混编Swift, Swift项目混编Objective-C Framework Target混编Swift 怎么遵循 OC运行时 混编的一些坑
  • swift学习1 oc swift混编

    2015-08-05 22:33:13
    1.creat swift project 2.set project architecture 3.creat bridege header 4.add new oc file 5.import "file.h
  • ocswift混编

    2019-02-27 20:45:40
    这是需要做ocswift混编需要用到的,现在oc的发展变慢,swift成长很快,需要这种技术的请下载,如果不是做ios的请慎重
  • Swift 项目混编OC互调

    2019-11-28 16:27:41
    OC Swift可以无缝衔接,实现互调。 项目背景 Swift 项目引用OC文件   Swift 调用OC 这个应该都知道了,我们创建OC文件的时候回自动创建一个桥接文件。 在这个桥接文件里#import "xxxi.h" 就可以在Swif文件里...
  • OCSwift混编项目迁移到Swift4.2小记前言自从Xcode10正式版发布之后, 先吃螃蟹的朋友赞叹了Dark Mode的惊艳, 同时也报告说, 打包上传到APPStroe后, 监测到线上 iOS9.3设备大面积crash的记录, 最后被证实是Xcode10的...
  • OC Swift 混编

    2017-08-30 13:29:16
    首先承认我落后了,到今天才开始在项目里用swift,而且还不是全部的用,只是ocswift混编,因为实在是进入项目的时候框架已经用oc搭好了啊啊啊啊啊。只能退而求其次,混编了,大致根据百度到的方法试了一下,不是很...
  • OC Swift混编

    2018-08-01 10:30:45
    因最近准备切换公司Objective-C(下面简称OC)项目为Swift项目,切换过程中不可避免地涉及到混编这一块,特此记录下来, 主要分为在swift项目中调用OC文件 和在OC项目中调用swift文件 在Swift工程或者文件使用...
  • 1、创建一个Swift工程:ObjectCInSwift 2、创建一个Object-C的类:RoundImageView(自定义一个圆角的UIImageView)注意要选择Object-C代码 当创建完成后,Xcode提示下面警告,会提问我们需不需要创意一...
  • 初试OC Swift 混编

    2020-07-03 13:51:09
    初尝OC swift 混编新的开始!项目配置文件相互访问方法和常量变量的相互访问零碎的乱七八糟的东西总结 新的开始!...示例为老OC项目加入swift混编. Xcodeb版本11.5 Swift版本5.0 首先创建第一个.swi
  • swift之OCSwift混编

    2017-08-13 16:46:00
    1、在Swift工程添加OC代码 在swift语言里,同一个项目内的文件基本会放在同一个命名空间里,所以没有.h文件。如果想在swift工程中添加OC代码,需要解决怎么引用OC代码的头文件问题。具体的解决办法就是:新建一个...
  • OCswift混编Framework

    2020-12-22 13:37:56
    OCswift混编Framework1. 创建framework2. OC和swift的互想调用2.1 swift调用OC2.2 OC中调用swift文件2.3 合并framework 1. 创建framework 首先我创建一个project,然后选择framework,选择OC语言,如下图: ...
  • OC-swift混编

    2018-08-02 11:01:49
    OC-swift 混编 开始 OC项目添加一个swift文件或者swift创建OC文件,Xcode会提示是否创建桥接文件,选择是,使用默认名字,会创建一个”&lt;#工程名#&gt;-Bridging-Header.h”的文件。 如果选择了否,...
  • Swift SwiftOC混编

    千次阅读 2016-05-02 16:31:03
    难得的五一小长假,就有空简单的谢谢SwiftOC的混合编程的Demo。1.新建一个空的Swift项目 注意语言选择Swift。2.新建一个OC的控制器 注意语言选择OC。3.这一步很重要 一定要点击红框中的按钮。4.设置桥接文件...
  • OCSwift混编

    2018-02-27 10:03:03
    OCSwift混编本人在接入猴子测试的过程中。需求使然。需要对OC集成swift代码进行混编。一 先说如果是OC混编Swift的情况1. 首先创建一个名称为BridgeTest的项目,语言选择Object-C。创建项目2.如果我们想在OC的项目...
  • SwiftOC混编

    2019-01-07 17:51:48
    SwiftOC混编OC项目下SwiftOC的互相调用,Swift项目下SwiftOC的相互调用!
  • OCSwift混编

    2016-01-09 09:12:28
    swiftOC混编 现在写swift,很多的类库还不是很全,很多的第三方还是只有OC版的,这个时候swift想用,通常都是采用的swiftOC混编的方式.这里给大家演示一下混编是如何做的. swift中使用OCOC中,如果我们要...
  • OC Swift混编 记录

    2019-08-14 16:17:40
    OC 项目混编SwiftOC项目中初始创建swift文件时,会提醒创建桥接文件 点击 Create Bridging Header 就会生成一个桥接文件 如果误点导致没有创建桥接文件,可手动创建一个 “工程名-Bridging-Header.h" 的...
  • 多语言并存时期,混编成为一种必须的方式 ,在多场影中实现OCSwift语言的并存原来是如此简单第一种场景,App中实现混编创建桥接文件*.h新建一个桥接文件,New File 选择 Header File 创建指定桥接文件project->...
  • ocswift混编

    2016-08-21 15:34:42
    ocswift混编一、建立oc工程二、OC调用Swift写的类新建Swift类(Demo.swift)代码块// // Demo.swift // Test // // Created by 1391 on 16/8/21. // Copyright © 2016年 cuilu. All rights reserved. //import ...
  • OCSwift混编

    2017-02-20 09:53:00
    OC项目中使用Swift ... ...最近公司的项目开始计划使用Swift,由于原先的工程都是使用OC编写的,不可能一下全部转换成Swift,所以采用OCSwift混编的方式是最好的选择。这篇文章只是一个简...
  • iOS OCSwift混编 1、创建一个swift或者oc的工程:我这里是创建的Swift语言的工程,工程名SwiftTest 2、在工程中代码目录下创建一个oc的类,选择oc语言, 会出一个对话框,选择YES3、这时会在工程里看到...
  • OCSwift混编相互调用

    2020-11-25 12:39:30
    现在咱们就一起学习下 OCSwift混编,如何实现呢? 首先创建一个OC项目 这里不在做详细解释,直接进入 打开项目; 一 、添加swift 文件 (只要是混编 无论是在oc项目中添加swift文件 ,还是swift项目中添加oc文件) ...
  • OCswift混编

    2016-08-24 17:18:22
    Tips:最近在OC和swift之间周旋,download Xcode 8 beta 6,update iOS 10,convert to swift3.0,感觉身体被掏空,终于暂时告一...OCswift混编小结: 1、swift项目中使用OC文件(.h .m):当我们在一个swift项目中新
  • ocswift混编

    2020-03-26 17:14:04
    创建oc项目,导入swift文件,自动生成了BESOTADemo-Bridging-Header.h 第一:oc class中调用swift class不需要import,但对swift文件内容有要求: 1、参数bool类型的,必须先给初始值 2、方法必须使用@objec...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 627
精华内容 250
关键字:

swift混编oc