Swift_学习笔记_调用ObjectiveC方法

来源:互联网 发布:知乎 一人之下漫画 编辑:程序博客网 时间:2024/05/16 04:19
  • Swift是对ObjectiveC进行的封装,而且目前许多的第三方SDK以及第三方开源库都使用的ObjectiveC语言进行编写,因此许多的时候都需要Swift调用ObjectiveC内的方法。

下面简单的介绍下如何实现Swift调用ObjectiveC内的方法。

手动创建桥文件:

  • 创建一个Swift工程

    • 方式一:点击File->New->Project...
      这里写图片描述

    • 方式二:快捷键cmd+shift+N

    • 方式三:在Xcode欢迎页选择Creat a new Xcode project
    • 注意:在工程项目名字输入页,Language选择Swift
  • 创建桥文件

    • 点击File->New->File...或者快捷键cmd+N
    • 选择Header File,然后对其进行命名。
      这里写图片描述
    • 修改Xcode配置:TARGETS->Bulid Settings搜索Brid。如图所示:
      这里写图片描述
    • 将创建的Header File头文件路径在上图所示空格内进行赋值。
    • 记得将绝对路径修改为相对路径($SRCROOT),如图所示
    • 绝对路径图:
      绝对路径
    • 相对路径图:
      这里写图片描述
  • 创建ObjectiveC文件,或者导入需要的ObjectiveC第三方库。

  • 将需要的ObjectiveC头文件导入到创建的Header File文件内。
    这里写图片描述

  • 这里是在创建完桥文件之后,新创建的ObjectiveC文件,其内代码如下:

// .h@interface OCFileClass : NSObject- (void)sayHello;- (NSDictionary *)sayDictionary:(NSDictionary *)dictionary;@end// .m#import "OCFileClass.h"@implementation OCFileClass- (void)sayHello{    NSLog(@"Hello");}- (NSDictionary *)sayDictionary:(NSDictionary *)dictionary{    NSLog(@"%@",dictionary);    return @{@"aa":@"11",@"bb":@"22"};}@end
  • 调用效果截图如下:
    • 在编写调用代码的时候,如果不提示,可以先编译一下cmd+B
      这里写图片描述

系统自动创建桥文件

  • 在创建完Swift工程之后,如果没有创建桥文件,而采用快捷键或者点击File->New->File...方式创建ObjectiveC文件(工程内无任何其它ObjectiveC文件),此时系统会进行如下提示:
    这里写图片描述

  • 点击Creat Bridging Header按钮,系统将会自动创建需要的桥文件(工程名称-Bridging-Header.h)SwiftMutualObjectiveC-Bridging-Header.h,并且会对Build Settings进行配置,配置效果,如图所示:
    这里写图片描述


注意:

  • 如果在手动创建ObjectiveC文件之前,已经导入了ObjectiveC文件,系统将不会提示是否创建桥文件,这时候需要手动创建桥文件。例如将AFN文件整体导入到工程之内,再创建ObjectiveC文件之后就没有提示创建桥文件。
原创粉丝点击