您的位置:首页 > 移动开发 > Swift

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修饰,那么就必须满足原始值为整型的限制条件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息