Swift 和 OC 方法互调 SwiftAndOC

未知
Swift 查看源码»
iOS
2016-08-05
开源中国股瞎

SwiftAndOC 是一个Swift 和 OC 方法互调Demo。

Demo功能:

  • 1.在OC项目里:

    • 1.1.OC代码调用Swift方法

    • 1.2.Swift代码调用OC代码。

  • 2.在Swift项目:

    • 2.1.Swift代码调用OC代码

    • 2.2.OC代码调用Swift方法。

不管在什么项目里,在创建另外一种开发语言文件时系统会提示创建桥接文件OCAndSwift-Bridging-Header.h(其中OCAndSwift代表项目名称。),一定得有这桥接文件swift代码才能调用OC。

  • 功能1.1与2.2
    他们都是OC代码调用Swift方法,不管是在什么项目中,使用方法都一样。
    只须在需要使用Swift方法的OC文件中倒入头文件 #import "OCAndSwift-swift.h"即可,在任何oc文件中导入的头文件都一样,其中OCAndSwift代表项目名称。

  • 功能1.2与2.1
    他们都是Swift代码调用OC代码。
    将OC代码所在头文件放在OCAndSwift-Bridging-Header.h文件里即可,可供任何位置的swift调用,如导入:#import "LXHelpClass.h"。

Swift代码调用OC方法如下:

  func tappedButton(sender:UIButton!) {
      self.myImageView.image = LXHelpClass.getEllipseImageWithImage(self.myImageView.image)
      print(sender.tag, terminator: "swift")
  }

 @interface LXHelpClass : NSObject
 + (UIImage *)getEllipseImageWithImage:(UIImage *)originImage;
 @end

OC控制器push到Swift控制器

#import "OCAndSwift-swift.h"
- (void)pushBtnClicked:(UIButton *)sender
{
    SwiftController *swiftVC = [[SwiftController alloc] init];
    [self.navigationController pushViewController:swiftVC animated:YES];
}
class SwiftController: UIViewController {
    override func viewDidLoad() {
    ...
    }
    ...
}
的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Objective-C和swift混编

swift推出以后,宣称可以在swift中支持原先的oc库,所以本文介绍如何支持OC类。 首先创建一个Swift项目,然后创建一个Cocoa Class 然后创建一个Hello的oc类 然后点击确认后会弹出一个提示窗口...

2016/12/01 18:21
12
0
Swift/OC计时器使用方法

Swift/OC计时器使用方法

2016/04/15 11:39
66
1
Objective-C与Swift混编中OC对Swift类视而不见的问题

在一个老的iOS项目中集成了Swift代码,然后在OC中调用Swift类,一直报错,针对自定义Swift类提示了"use of undeclared identifier"错误,费了老鼻子劲才解决这个问题。 刚开始一直解决不了,...

2016/07/15 17:13
254
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部