1.首先创建OBJ-C/ Swift工程
2.创建swift/OBJ-C文件
这是Xcode会提示创建Swift和ObJ-C之间的桥接文件,点确认。
3.在生产的XXX-Bridging-Header.h中导入需要在swift中使用的objective c 的头文件。
4.在Swift文件中就可以使用Swift的语法进行调用 oc 的类
示例:
Objective-C (abc.h)
1
|
+(NSString *)strBySwift;
|
Swift中调用
1
|
abc.strBySwift()
|
***注意***
Xcode会自动将OC的方法转换成Swift中的使用方式,方法名一致。
5、OBJ-C中调用Swift的方法
1.target-》build Setting->package中可以设置Product Module Name ,设为xxx,默认为工程名,可不修改
2.在需要调用的OBJ-C的文件中导入头文件"XXX-Swift.h",XXX为 module Name。
3.在OBJ-C的代码中使用OC语法调用Swift里面的方法
有人说 需要将 需要将target-》build Setting->package中Defines Module 设置为YES,但是我没有设置这个却没什么影响(不知为何,希望指点)
示例:
Swift
1
2
3
4
5
6
7
|
class
SwiftTest: NSObject {
func swiftStr()->NSString
{
return
"swift string"
}
}
|
Objective-C 中调用
1
2
|
SwiftTest *swiftTest = [[SwiftTest alloc] init];
[swiftTest swiftStr];
|