Swift学习Day01(Object_c 与Swift的相互调用 )

从今天开始:

    学习一门新门的语言Swift,之前常用的语言  java 、object—c;相信 学起swift来,也会很快的;

   之前看了大量的文章,结合大神的,外加自己理解,来说一说 在xcode里swift、与object-c是如何调用;

   之前看了很多文章,大家直接上来就是教你怎么做,对于我总想知道为啥的人来说,总感觉解决不了我的问题;现在我把我的理解来分享一下,希望可以让大家很快从object_c的基础上过度到swift上来;

     

      首先要理清楚:oc与 swift 的相互调用 ;不再是在同一个文件里面混编;object-c与c,c++可以很好的实现混编;但是 oc与swift是相互独立的;oc与swfit的语法类似,确是完全不一样的,它们是两种语言;xcode 能够很好的将这两种语言做映射 ,但不代表你可以在oc中写swif,在swif写oc;

    接着:oc与swift的相互调用,指的是,在oc中你可以用 swift写好的类,也可以说,你就把swift 当成oc,在oc里使用;反之一样;

     它俩的映射过成交给头文件去处理;在oc工程里,在你创建swfit文件时,xcode就会提示你创建头文件;例如:TestSwift-Bridging-Header.h


     接下来使用一个例子来说明; object-c 与swift  相互调用    

        a、创建一个ios工程 语言用 object-c  ,这个应用很简单,使用uiwebview组件加载了h5页面;默认背景是白色;用swift,让其变为蓝色;(功能没有意义只是为了测试一下)

            

        b、创建一个test.swift ,默认生成Study-Bridging-Header.h

                定义一个方法:viewcontroller的背景为蓝色

               参数:UIviewControler

               返回值:无 (swift的语法后面慢慢讲)

               功能:设置背景为蓝色


                test.swift  文件内容

          import Foundation//引入头文件(之前的框架都可用)

          //@objc    说明这个类可以 在oc中使用

          @objc  class Test:NSObject {   

          //func 申明这是个方法、函数   setBackColor:名称   

           //params(参数):UIViewController(参数类型)  

           func setBackColor(params:UIViewController)  {

               params.view.backgroundColor=UIColor.blueColor();//功能

        

          }}

          大家有没有发现,在这个swift 类中,我们用到了我们在object-c中熟悉的;这里想要其生效

        需要在Study-Bridging-Header.h中 加上

           #import "ViewController.h"

         

              这里我们是不是就用到了oc写的类;




   c、在ViewController.m  使用 swift

     引入头文件“#import "Study-swift.h"  Study 为工程名,后面固定不变

   //调用swift 

    Test *test=   [[Test alloc]init];

    [test setBackColor:self];

      

    

  

  d、最后结果背景变蓝;

    

  

 总结:

                在oc 中使用 swift 需要   引入头文件“#import "Study-swift.h"        

         在swift 中使用 oc 需要 在 Study-Bridging-Header.h引入你用到的类的头文件

        

   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值