Swift 4.0学习之:@objc的使用

@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修饰,那么就必须满足原始值为整型的限制条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值