在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文将演示在Swift文件中调用Object-C的类和方法。 在项目文件夹【DemoApp】上点击鼠标右键 ->【New File】创建一个Object-C的类文件 ->【Cocoa Touch Class】->【Next】-> 【Class】:SumNumbers。输入类名。 【Subclass of】:NSObject,父类名称 【Language】:Object-C,类文件的默认语言 ->【Next】->保存默认的存储位置点击【Create】 ->系统提示是否创建桥接头文件,将Object-C类的头文件,放置在桥接头文件中,Swift就可以访问OC类。 ->点击【Create Bridging Header】->此时系统自动创建了: 一个头文件【SumNumbers.h】 一个实现文件【SumNumbers.m】 一个桥接头文件【DemoApp-Bridging-Header.h】 ->点击项目名称【DemoApp】,查看项目的配置信息 ->打开编译设置面板【Building Settings】,需要确认是否已经配置了桥接头文件。 ->搜索【Bridging-Header】,查看到桥接头文件以及自动引入。 ->打开头文件【SumNumbers.h】 1 #import <Foundation/Foundation.h> 2 3 NS_ASSUME_NONNULL_BEGIN 4 5 @interface SumNumbers : NSObject 6 7 //在头文件中添加一个整形属性 8 @property (nonatomic, assign) int type; 9 //添加一个方法,传入两个参数,并返回两个整形参数的和 10 - (int)sum:(int)number1 andNumber2:(int)number2; 11 @end 12 13 NS_ASSUME_NONNULL_END ->打开实现文件【SumNumbers.m】,在类的实现文件中,实现头文件中定义的方法。 1 #import "SumNumbers.h" 2 3 @implementation SumNumbers 4 5 //添加头文件中定义的,获得两个整形数之和的方法 6 - (int)sum:(int)number1 andNumber2:(int)number2 7 { 8 //返回两个整形参数的和 9 return number1 + number2; 10 } 11 12 @end ->打开桥接头文件【DemoApp-Bridging-Header.h】 1 //在桥接头文件中 ,引入类的头文件 2 #import "SumNumbers.h" 在项目导航区,打开视图控制器的代码文件【ViewController.swift】 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8 9 //使用Swift语法初始化OC类对象 10 let sumNumbers = SumNumbers() 11 //使用点语法,调用对象的求和方法 12 let result = sumNumbers.sum(1, andNumber2: 1) 13 //在控制台打印输出求和的结果 14 print("The result:\(result)") 15 } 16 } 在Swift类文件中,调用上文创建的OC类和方法。 因为已经在桥接头文件中,引入了OC头文件,所以可以直接调用该类。 Swift如何引用GitHub上的Object-C类库? 请点击文章继续进行深入学习: [Xcode10 实际操作]七、文件与数据-(22)使用OCR光学字符识别技术识别银行卡号码 |
请发表评论