美文网首页swiftswift
swift学习_@objc的使用

swift学习_@objc的使用

作者: 柠檬很开心 | 来源:发表于2020-12-29 15:04 被阅读0次

    在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(MyClass)

    class 我的类: NSObject {

        @objc(greeting:)

        func 问候(名字: String) {

            print("你好 \(名字)")

        }}

    @objc protocol CounterDataSource {

        optional func incrementForCount(count: Int) -> Int 

        optional var fixedIncrement: Int { get } 

    }

    相关文章

      网友评论

        本文标题:swift学习_@objc的使用

        本文链接:https://www.haomeiwen.com/subject/mngfoktx.html