swift _@objc的使用

2024-01-04  本文已影响0人  江河_ios

在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修饰协议与修饰类一样,需要注意的是,如果协议中有optional修饰的方法,就必须使用@objc来修饰

修饰枚举: Swift中的枚举类型功能增强了不少。OC中还是传统的枚举类型,必须使用整型作为枚举值。Swift中的枚举如果要被@objc修饰,那么就必须满足原始值为整型的限制条件。

@objc protocol CounterDataSource {

 optional func incrementForCount(count: Int) -> Int 

optional var fixedIncrement: Int { get } 

}

上一篇 下一篇

猜你喜欢

热点阅读