iOS开发 Swift 与 Objective C 相互调用

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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值