iOS-OC、Swift 混编之桥接文件

新建一个OC语言的项目,然后添加一个基于NSObject的Swift文件SwiftFileModel类

.swift

import UIKit

class SwiftFileModel: NSObject {
func firstMethod() {
print("SwiftFileModel");
}
}

 

 

这时会提示你是否添加桥接文件,点击创建后体统会自动创建一个桥接文件,但是如果点击取消后,就需要自己建桥接文件;

技术分享图片  


手动创建桥接文件

新建h文件,名字随便起,但最好专业些,我这里不专业

技术分享图片

 

技术分享图片

然后去 Build Settings 搜索brid,找到 Objctive-C Bridging Header,将刚才建好的桥接文件直接拖入,会自动引用路径;

 

技术分享图片

 

 技术分享图片

到这里桥接文件及配置就OK了;


Swift调用OC

新建一个基于NSObject的OC文件OcFileModel类

.h

#import <Foundation/Foundation.h>

@interface OcFileModel : NSObject
+ (void)ocLog;
@end

 

.m

#import "OcFileModel.h"

@implementation OcFileModel
+ (void)ocLog{
    NSLog(@"OcFileModel");
}
@end

 

将OcFileModel的头文件 #import “OcFileModel.h” 添加到桥接文件中

技术分享图片

在SwiftFileModel.swift类中实现调用ocLog方法

技术分享图片 

 OC调用Swift

技术分享图片

 

mamicode_m_adload(‘8004’);

评论(
0

mamicode_m_adload(‘8005’);

mamicode_m_adload(‘9001’);

© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!

var _hmt = _hmt || [];
(function() {
var hm = document.createElement(“script”);
hm.src = “https://hm.baidu.com/hm.js?a85373af457b8da397da22f6a19bb587”;
var s = document.getElementsByTagName(“script”)[0];
s.parentNode.insertBefore(hm, s);
})();

mamicode_m_adload(‘9002’);