Swift 4.0学习之:@objc的使用
2018-03-15 09:18
323 查看
@objc的使用
知识点: 在Swift代码中,使用@objc修饰后的类型,可以直接供Objective-C调用。可以使用@objc修饰的类型有以下几种:
1、未嵌套的类
2、协议
3、非泛型枚举(仅限于原始值为整形的类型)
4、类和协议中的属性和方法
5、构造器和析构器
6、下标
注意点: Objective-C中所有的类都继承自NSObjc,在Swift中的类需要供Objective-C调用的时候,也必须显式的继承NSObject。当然,随便继承一个OC中的类都可以,反正他们都继承自NSObject。
小细节: Swift在某些方面非常的随意亲切,比方说类名,Swift可以使用中文命名,但OC却只能使用ASCII码,在使用@objc的时候,需要指定OC中指定的ASCII码的名称,举个小例子如下
@objc(MyClass) class 我的类: NSObject { @objc(greeting:) func 问候(名字: String) { print("你好 \(名字)") } }
修饰协议: @objc修饰协议与修饰类一样,需要注意的是,如果协议中有optional修饰的方法,就必须使用@objc来修饰
@objc protocol CounterDataSource { optional func incrementForCount(count: Int) -> Int optional var fixedIncrement: Int { get } }
修饰枚举: Swift中的枚举类型功能增强了不少。OC中还是传统的枚举类型,必须使用整型作为枚举值。Swift中的枚举如果要被@objc修饰,那么就必须满足原始值为整型的限制条件。
相关文章推荐
- 【原创】XNA 4.0学习笔记之-如何使用XACT给Cue添加多个音频
- Swift学习——变量var和let常量的使用方法(一)
- swift学习第五章-字典的使用
- Swift编程语言学习14——Swift中如何使用继承(Inheritance)
- swift学习第八天 项目实战-知乎日报之UIScollView和UIpageConrolView使用
- swift学习第二天 Using Swift with Cocoa and Objective-C--互用性-与ObjC API交互
- petshop4.0学习记录一:Memebership的使用
- iOS学习爬坑记录13:查看内存使用情况的obj-c和Swift代码
- 从零开始--系统深入学习IOS(使用Swift---带链接)
- 学习时用的软件最新 开发环境为Visual Studio 2010,数据库为SQLServer2005,使用.net 4.0开发。 超市管理系统
- Swift学习笔记(十七)——导入Foundation使用更多字符串功能
- Swift学习笔记(二十九)——函数的使用1
- Swift 学习手记1,pod 的 类库使用
- swift学习第八天 项目实战-知乎日报之UIWebView使用
- Swift学习——函数的使用和分类(四)
- Swift学习 接口的创建与使用
- swift学习第五章-字典的使用
- Swift学习之每日一tip (7) @objc
- Silverlight学习笔记五( 在Silverlight 2.0/3.0/4.0 中使用OpenFileDialog浏览本地图片)
- Swift & Objc 在同一个项目中的使用