OC和swift混编

当前使用xcode7.3.1版本

一、OC项目中混编swift

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

OC和swift混编_第1张图片

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

OC和swift混编_第2张图片

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文件

OC和swift混编_第3张图片

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

OC和swift混编_第4张图片

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混编)