iOS混编之--Swift调用OC

Swift创建的工程想要调用OC是相对比较容易的,只需在桥接文件中导入想要调用的OC类即可。

当在Swift工程中创建完成OC类的时候,系统会提示我们是否创建桥接文件,这个时候一定要选择创建,否者我们自己创建需要设置路径

iOS混编之--Swift调用OC_第1张图片
创建桥接文件
iOS混编之--Swift调用OC_第2张图片
桥接文件目录

在OC类中创建属性和方法
注意:想要被外界调用就要写在.h中这个还是OC的特征

.h文件
#import 

@interface OCClass : NSObject

@property (nonatomic,copy) NSString *name;

-(NSString *)sayHello:(NSString *)name;

@end
.m文件
#import "OCClass.h"

@implementation OCClass

-(NSString *)sayHello:(NSString *)name{
    return [NSString stringWithFormat:@"%@ say Hello",name];
}

@end

在创建的桥接头文件中包含想要被调用的OC类

iOS混编之--Swift调用OC_第3张图片
Snip20170604_15.png

因为Swift不需要包含头文件也可以使用,所以直接在Swift中调用OC的方法就可以了

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let ocClass = OCClass();
        let str = ocClass.sayHello("CF");
        print(str!);
        
        ocClass.name = "CF";
        print(ocClass.name)
    }

}
iOS混编之--Swift调用OC_第4张图片
打印结果

你可能感兴趣的:(iOS混编之--Swift调用OC)