美文网首页
Swift中@objc的使用

Swift中@objc的使用

作者: 土豆小窝瓜 | 来源:发表于2021-04-08 09:43 被阅读0次

    Swift中@objc的使用

    在Swift代码中,使用@objc修饰后的类型,可以直接供Objective-C调用
    可以使用@objc修饰的类型:

    • 未嵌套的类
    • 协议
    • 非泛型枚举(仅限于原始值为整形的类型)
    • 类和协议中的属性和方法
    • 构造器和析构器
    • 下标

    @objc class MyClass: NSObject {
    }
    
    

    Objective-C中所有的类都需要继承自NSObject,Swift中的类需要供Objective-C调用的时候,自然也需要显式继承自NSObject。
    另外Swift中的类名可以使用中文命名,而Objective-C中的却只能使用ASCII码,在使用@objc时,需要指定Objective-C中使用的ASCII名称。

    @objc(MyClass)
    class 新的类: NSObject {
        @objc(configData:)
        func 赋值操作(名字: String) {
            print("哈喽,\(名字)")
        }
    }
    
    

    协议

    @objc修饰协议与修饰类一样,需要注意的是,如果协议中有optional修饰的方法,就必须使用@objc来修饰

    
    @objc protocol CounterDataSource {
        optional func incrementForCount(count: Int) -> Int
        optional var fixedIncrement: Int { get }
    }
    
    

    枚举

    Swift中的枚举类型支持自定义类型。Objective-C中还是传统的枚举类型,必须使用整形原始值。Swift

    相关文章

      网友评论

          本文标题:Swift中@objc的使用

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