本文主要是介绍Objective-C和swift混编,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
swift推出以后,宣称可以在swift中支持原先的oc库,所以本文介绍如何支持OC类。
首先创建一个Swift项目,然后创建一个Cocoa Class
然后创建一个Hello的oc类
然后点击确认后会弹出一个提示窗口
这是提示生成一个bridge头文件,用来把oc的类的头文件自动包含到swift中。所以点击yes自动会创建一个名为SwiftAndOC-Bridging-Header.h的oc头文件
在这个头文件中把所有要包含的oc类头文件写入,则xcode会自动导入到swift中,这里我们测试把Hello类导入,所以在SwiftAndOC-Bridging-Header.h中加入如下代码
#import "Hello.h"
然后修改一些Hello.h文件
#import <Foundation/Foundation.h>@interface Hello : NSObject
-(void)print;
@end
修改Hello.m文件
#import "Hello.h"@implementation Hello
-(void)print{NSLog(@"hello");
}
@end
此时,可以到swift中直接使用该类,而不需要导入任何文件。而且所有的创建对象,调用方法都是以swift的语法调用。
var hello = Hello()
hello.print()
如果是导入第三方OC库,则可以自己手动写一个桥接头文件,例如现在创建一个名为bridge.h的头文件,在里面加入
#import "Hello.h"
其中Swift Compiler中的Objectvice-C Bridge Header一项改为自己的所创建的头文件即可
这篇关于Objective-C和swift混编的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!