美文网首页
OC和swift混编

OC和swift混编

作者: Somnus_chh | 来源:发表于2016-11-16 17:04 被阅读25次

    当前使用xcode7.3.1版本

    一、OC项目中混编swift

    1、在创建好的OC项目中直接创建swift文件

    2、如果在项目中没有创建过swift文件,初次创建会提示你是否创建桥接头文件,点击“Create Bridging Header”

    3、在你的OC项目中引入头文件

    //项目名-Swift.h,S大小写貌似都没差别

    #import "xxx-swift.h"

    4、来一个测试跳转

    @implementation ViewController

    - (void)viewDidLoad {

    [super viewDidLoad];

    self.view.backgroundColor = [UIColor orangeColor];

    }

    - (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent *)event{

              TestViewController * con = [TestViewController new];

              [self presentViewController:con animated:YES completion:nil];

    }

    @end

    5、在你的swift文件中改变下view的背景颜色方便看出改变

    import UIKit

    class TestViewController: UIViewController {

       override func viewDidLoad() {

           super.viewDidLoad()

           self.view.backgroundColor = UIColor.blueColor();

       }

        override func touchesBegan(touches: Set, withEvent event: UIEvent?) {

            self.dismissViewControllerAnimated(true, completion: nil);

       }

    }

    二、swift项目中混编oc

    1、在创建好的swift项目中直接创建OC文件

    2、如果在项目中没有创建过OC文件,初次创建会提示你是否创建桥接头文件,点击“Create Bridging Header”

    3、在自动创建好的“项目名-Bridging-Header.h”文件中引入OC文件的头文件

    #import "TestViewController.h"

    4、在你的swift文件中就可以直接初始化进行使用了,

    override func touchesBegan(touches: Set, withEvent event: UIEvent?) {

          let con = TestViewController.init();

          self.presentViewController(con, animated: true, completion: nil);

    }

    总结:两种混编其实都挺简单的,不用做其他特别复杂的配置。

    Demo下载地址:

    https://github.com/371726787/share.git

    相关文章

      网友评论

          本文标题:OC和swift混编

          本文链接:https://www.haomeiwen.com/subject/bnerpttx.html