Swift_Swift与objC之间的相互调用

假如你现在有一个 swift 类 LoginViewContrller.swift, 但是工程是objc的工程:AppDelegate.h/.m

现在设置AppDelegate的rootviewcontroller为 LoginViewContrller

1. 在target -> build setting -> Product Module Name , 可以写成你的项目名

111714_Qbjr_237983.png

2. 在 AppDelegate.m 中添加
#import "xmppClient-Swift.h" ,其中 xmppClient 就是我们刚才写的Product Module Name。 如果没有自动联想出来,可以直接手写上去, 我就是手写上去的,编译不会报错。

3. 接下来,你就可以在 didFinishLaunchingWithOptions 中使用你的 Swift 文件了

这是我的代码:

self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:loginViewController];

4. 编译,运行。


那如果我是Swift的工程, 要如何设置 rootviewcontroller 为 objc 文件呢?

我新建一个Swift工程 : LALALA

新建cocoa touch class -> language选objc

当最后create 的时候,xcode 会提示如下:

113223_Ruog_237983.png

选 YES

发现工程里会另外多了一个 "productName"-Bridging-Header.h 的文件。 

只需要把你想在Swift中用的objc文件 import 进来。

例:

113754_Qbhw_237983.png

然后在 AppDelegate.Swift 中 写

        self.window!.rootViewController = RootViewController()

运行,可以了。


参考: http://stackoverflow.com/questions/24002369/how-to-call-objective-c-code-from-swift





转载于:https://my.oschina.net/u/237983/blog/288212

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值