精华内容
下载资源
问答
  • swiftoc桥接文件的踩坑

    千次阅读 2017-06-16 09:47:10
    无论是swift里拖oc代码还是ocswift,Xcode都会自动创建桥接文件。 实际应用场景也就分为上述两种, 当ocswift桥接文件里不需要做操作,需要在你需要引入swift类的那个类里 #import ,这时就可以正常使用...

    无论是swift里拖oc代码还是oc拖swift,Xcode都会自动创建桥接文件。

    实际应用场景也就分为上述两种, 当oc引swift时桥接文件里不需要做操作,需要在你需要引入swift类的那个类里 #import <你的项目名字-Swift.h>,这时就可以正常使用swift的类了

    当swift引入oc时,桥接文件里直接import oc的类就可以了。 #import "OCViewController.h" 类似这样。

    展开全文
  • 我的项目就是基于swift做的开发,早就发布在了appstore,当时用swift做开发时项目时间紧就没有写博客。现在也是回顾一下,做下记录,帮助那些用swift或打算学用swift的...下面不说废话介绍桥接 ios开发大多数使用...

    我的项目就是基于swift做的开发,早就发布在了appstore,当时用swift做开发时项目时间紧就没有写博客。现在也是回顾一下,做下记录,帮助那些用swift或打算学用swift的同学。我是做安卓的,后来在公司的信任和朋友的帮助下完成了ios项目的开发。有兴趣的可以看一下我的文章关于swift的回顾总结和建议

    关于IOS,swift开发中的总结

    下面不说废话介绍桥接

    ios开发大多数使用oc开发的,当然swift的优越性也使其发展的很快。swift和oc是可以混合开发相互调用的 。当然这需要做桥接。就是我今天要讲的。当然我在我的《关于IOS,swift开发中的总结》博客中也提到桥接。

    首先创建.h的文件命名为Swift-OC-Bridge

    在项目target下的build setting -> Swift Compiler-General ->Objective-C Bridging Header将上面建立文件的目录设置上去

    双击会输入窗显示出来,拖动桥接文件进去,就能把路径关联进去。就生效了

    //  Created by zzh on 2018/6/4.
    //  Copyright © 2018年 TangTuan. All rights reserved.
    //
    
    #import <Hyphenate/Hyphenate.h>
    #import "EaseUI.h"
    
    //#import "AFNetworking/AFNetworking.h"
    #import "Qiniu/QiniuSDK.h"
    #import "HappyDNS/HappyDNS.h"
    #import "WXApi.h"
    #import <AlipaySDK/AlipaySDK.h>
    
    //#import "QYSDK.h"
    
    #import <UMCommon/UMCommon.h>
    #import <UMCommonLog/UMCommonLogHeaders.h>
    #import <UMAnalytics/MobClick.h>
    #import <UMPush/UMessage.h>
    #import <UserNotifications/UserNotifications.h>
    
    // U-Share核心SDK
    #import <UMShare/UMShare.h>
    // U-Share分享面板SDK,未添加分享面板SDK可将此行去掉
    #import <UShareUI/UShareUI.h>
    
    #import <AMapFoundationKit/AMapFoundationKit.h>
    #import <AMapLocationKit/AMapLocationKit.h>
    
    #import <AliyunOSSiOS/OSSService.h>
    
    #import <StoreKit/StoreKit.h>

    然后倒入集成的文件即可。注意当项目换地址后会出现部分失效。只需要重新关联桥接文件路径即可

    展开全文
  • Swift3.0和OC桥接方法

    2017-04-28 09:55:36
    1.直接在工程中command+n,出现如图,点击Header File创建桥接文件Bridging-Header.h,如图: 2.点击next,出现如图画面,一定要记得勾选第一项,再点击create创建完成。 3.配置桥接文件,...

    1.直接在工程中command+n,出现如图,点击Header File创建桥接文件Bridging-Header.h,如图:




    2.点击next,出现如图画面,一定要记得勾选第一项,再点击create创建完成。




    3.配置桥接文件,点击target - build settings 通过搜索找到 Objective-C Bridging Header,配置一下文件路径即可,记得使用相对路径:$(SRCROOT),配置完成即可愉快的使用OC中的方法了。




    4.使用的时候按照如图的方式导入OC的.h文件即可使用。




    注意使用的时候要按照swift的方法调用oc类中的方法,会自动进行转换的。

    展开全文
  • iOS - OCSwift 桥接

    2017-06-09 16:03:52
    OC & Swift 桥接问题

    项目中 OC 和 Swift 的类来回跳转,桥接问题

    我们知道Swift中自定义的类不需要导入头文件,编译器会自动帮我们导入。那么Objective-C怎么做呢?

    跟着网上教程,当我们创建以Swift为语言的工程后,在第一次创建或拖入OC语言的文件时会自动弹出一个对话框,如下:

    该提示的意思是,是否创建一个Objective-C bridging header,也就是创建一个Swift中能调到OC的桥文件。我们点击回车,会自动创建一个名叫  你的项目名(默认)-Bridging-Header.h  的头文件。这文件是干什么用的呢?

      我们点开这个文件,里面只有这样一行注释:


    以我不怎么样的英语造诣,直译如下:

      使用这个文件来导入你想导入到Swift中的(OC)目标头文件.h。

      简单明了。接下来怎么做?

      直接在这个文件中导入头文件,之后你可以在Swift语言中直接使用,就像Swift类一样。

    导入头文件:

    //

    //  Use this file to import your target's public headers that you would like to expose to Swift.

    //


    #import "BoxHomeViewController.h"


    然后就可以在swift里面调用oc的类了,如

      

     let  vc = BoxHomeViewController()

            

            

    self.navigationController?.pushViewController(vc, animated: true)



      另外有一点,若你导入头文件后仍然无效,那么除了编译下看看效果之外,还可以设置下项目的Target - - Build Settings--Swift Compiler--Objective-C Bridging Header内容为你的项目名字(默认)/Bridging-Header.h,这个与Bridging-Header.h位置有关,从项目的根目录开始在Objective-C Bridging Header选项里面写入Bridging-Header.h相对路径。(这个路径编译后默认自动填充,如果无效,提示错误,则可能需要手动导入该路径)
    在 OC 类 里面调用Swift,也不难


    首先,我们需要到Target - - Build Settings--Packging--Defines Module,将值改为YES。

    然后,我们到所想要调用Swift类的OC类中,调用这样一个头文件:

      #import <你的项目名-Swift.h>

      若你没有修改,一般都是你的项目名。你可能会想,我并没有创建这样一个头文件。但是要仔细看,它使用的是尖括号<>,这说明它是系统类,你是看不到的。

    如 : 


    #import "BoxHomeViewController.h"

    #import <BoxSwiftDemo-Swift.h>



    @interface BoxHomeViewController ()


    @end


    @implementation BoxHomeViewController


    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view.

        self.view.backgroundColor = [UIColor lightGrayColor];

        

        self.navigationItem.title = @"OC的类";

        

        UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];;

        button.frame = CGRectMake(50, 150, 100, 50);

        button.backgroundColor = [UIColor greenColor];

        [button setTitle:@"Swift类看看" forState:UIControlStateNormal];

        [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

        [button addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside];

        [self.view addSubview:button];

        

        

    }


    #pragma mark - 跳往swift方法

    - (void)buttonClick {

        

        // 这里 SecondViewController.swift swift文件

        

        SecondViewController *second = [[SecondViewController alloc] init];

        [self.navigationController pushViewController:second animated:YES];

    }


    本文参考自http://www.cnblogs.com/SoulKai/p/5800133.html


    展开全文
  • [IOS]object-c桥接swift

    2020-02-17 14:47:39
    一般在原OC项目里新建一个swift文件,Xcode就会提示是否生成桥接文件 但是有些时候可能没有提示,那就需要自己手动建立一系列桥接: 1.swift中用OC: #import <CommonCrypto/CommonCrypto.h> 例如上面这个库,...
  • 新建一个.h的文件 比如...//导入UMCommon的OC的头文件 #import “…/Pods/UMCCommon/UMCommon.framework/Headers/UMCommon.h” //导入UMAnalytics的OC的头文件 #import “…/Pods/UMCAnalytics/UMAnalytics.framewo...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 创建了IOS版本的Framewrok 语言是Swift的 在设置OC桥接的时候编译报错 直接把需要Bridge的OC 头文件设置为Public 在framework的头文件里引用一下 就可以用了。。。  转载于:...
  • OCSwift桥接问题

    2016-08-23 17:07:00
    当然我之前对Swift只是略有了解,略到只看过没写过的程度,主要语言还是OC。不过嘛其实语言都是相通的,何况方法都是相同的只不过语法上可能有点儿小差错。不过仍然有些东西会莫名其妙被卡住。  比如创建一个...
  • OCSwift桥接

    千次阅读 2016-07-25 14:34:41
    首次使用Markdown编写博客,尚在熟悉中。... 首先创建一个swift工程,然后准备一个Swift类RedView和一个OC类BlueView相互桥接互用。 Swift调用OC类 方法一   直接新建一个oc类,如下图:   继续点击,出现
  • OCSwift混编项目迁移到Swift4.2小记前言自从Xcode10正式版发布之后, 先吃螃蟹的朋友赞叹了Dark Mode的惊艳, 同时也报告说, 打包上传到APPStroe后, 监测到线上 iOS9.3设备大面积crash的记录, 最后被证实是Xcode10的...
  • OCSwift混编之桥接文件

    千次阅读 2019-06-12 15:29:58
    环境介绍: mac OS sierra 10.12.6 Xcode9(Version 9.0 (9A235)) OC的项目,项目中包含多个Target,用于实现环境分离。 目标:用Swift4.0版本版本进行普通混编开发... Swift访问OC OC访问Swift ...
  • 第一种场景,App中实现混编创建桥接文件*.h新建一个桥接文件,New File 选择 Header File 创建指定桥接文件project->...Objective-C-Bridging-Header 指定刚刚的新建的桥接文件导入OC头文件(*.h)到桥接文件如...
  • OCswift混编(桥接

    2018-10-10 14:49:59
    所谓桥接就是在OC 工程中第一次创建swift文件的时候回生成一个头文件(Bridging-Header.h 桥)。 这里主要是swift 调用OC方法的时候引入OC文件.h 所使用的   第一次在OC工程中创建swift文件生成的桥 头文件, ...
  • 这时候就需要建立桥接文件连接不同语言的类库最近项目中需要用到图表功能,网上发现一款强大的图表第三方库Charts,但是是用Swift写的,如果自己的项目是OC写的导入Swift项目就需要用到桥接文件了,记录下嵌入过程的...
  • SwiftOC桥接文件

    千次阅读 2016-03-25 10:26:48
    简介在使用Swift编程时,往往我们会用到OC的文件,需要使用其内的方法来满足我们的需求,所以我们就要使用swiftoc桥接文件,来引入oc中的头文件,至此来调用oc中的方法,满足我们在Swift编程下的需求.具体步骤 1.选中...
  • 由于swift较新,所以类库还不够完善,但是不用担心,苹果早就出了解决方案,那就是使用桥接文件,通过桥接文件,系统会把类库中的OC代码转换成swift语言,这样用起来其实没什么障碍. 那么如此创建桥接文件以及如何调用...
  • 新建一个OC语言的项目,然后添加一个基于NSObject的Swift文件SwiftFileModel类.swiftimport UIKitclassSwiftFileModel: NSObject {func firstMethod() {print("SwiftFileModel");}}这时会提示你是否添加桥接文件,...
  • 新建一个OC语言的项目,然后添加一个基于NSObject的Swift文件SwiftFileModel类 .swift import UIKit class SwiftFileModel: NSObject { func firstMethod() { print("SwiftFileModel"); } } 这时...
  • ocSwift 是2种不同的语言,  oc代码只能写带oc文件里,  Swift代码只能写在Swift文件里, ...Swift文件要调用oc代码的时候 你会发现你无法引用oc.h文件, 所以就要用到这个文件, 对oc文件进行桥接, ...
  • ocswift混编之自建桥接文件

    千次阅读 2017-01-04 10:37:03
    进行swift开发的时候,oc 的项目已经进行了很长一段时间,所以默认使用Xcode自建的桥接文件的时候,这个桥接文件名称是固定的,放置的目录也是无法更改的,所以我就想自己创建一个桥接文件,然后在target里配置一下...
  • Swift的字符串类型String,跟OC的NSString,在API设计上还是有较大差异 //空字符串 var emptyStr1 = "" var emptyStr2 = String() var str1: String = "1" str1.append("_2") //"1_2" str1 = str1 + "_3" //"1_2_3...
  • 1 将oc的代码拖入项目中...3 在设置build Setting 中搜索bird 找到 Objective-C Bridging Header 在后面设置上你想桥接的文件 和OC中设置Pch 一样 项目名/你的桥接头文件.h 转载于:https://www.cnblogs.com/Zh...
  • 进行swift开发的时候,oc 的项目已经进行了很长一段时间,所以默认使用Xcode自建的桥接文件的时候,这个桥接文件名称是固定的,放置的目录也是无法更改的,所以我就想自己创建一个桥接文件,然后在target里配置一下...
  • 进行swift开发的时候,oc 的项目已经进行了很长一段时间,所以默认使用Xcode自建的桥接文件的时候,这个桥接文件名称是固定的,放置的目录也是无法更改的,所以我就想自己创建一个桥接文件,然后在target里配置一下...
  • OCswift的数据传输

    千次阅读 2018-08-10 20:02:33
    如果ocswift之间的桥接有疑问请参考:OCswift桥接互调 项目介绍 1、swift之间的页面跳转与返回 2、oc监听swift推送的通知 3、swift内部推送接收的通知 4、oc调用swift的代理方法 5、swift调用oc代.....
  • OCswift相互调用

    2019-10-04 03:50:53
     在OC项目中创建一个swift文件的时候,Xcode 会提示 需要创建一个桥接文件,点确定创建桥接文件,Xcode会自动创建一个桥接文件 名字:工程名-Bridging-Header.h 这个桥接文件是 swift 调用OC文件的时候...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 373
精华内容 149
关键字:

oc桥接swift