swift: @objc的使用
用法在 Swift 代码中,使用
我们逐个来看看实际的使用: 类@objc class MyHelper:NSObject { // class code } Objective-C 中所有的类都需要继承自 @objc class MyViewController : UIViewController { } 另外一个细节是,Swift 中的类名,可以使用中文命名,而 Objective-C 中的却只能使用 ASCII 码,在使用 @objc(MyClass) class 我的类: NSObject { @objc(greeting:) func 打招呼(名字: String) { print("哈喽,(名字)") } } 协议
@objc protocol CounterDataSource { optional func incrementForCount(count: Int) -> Int optional var fixedIncrement: Int { get } } 关于可选协议的描述,可以参见官方教程 枚举Swift 中的枚举类型,功能增强了不少。Objective-C 中还是传统的枚举类型,必须使用整型作为原始值。这样看来,Swift 中的枚举类型如果要被 // Swift @objc enum Bear: Int { case Black,Grizzly,Polar } // OC Bear type = BearBlack; switch (type) { case BearBlack: case BearGrizzly: case BearPolar: [self runLikeHell]; } 其他在类和协议中的属性和方法,构造器和析构器,下标中使用 @objc class ExampleClass: NSObject { var enabled: Bool { @objc(isEnabled) get { // Return the appropriate value } } } 需要注意的是,如果类中方法或者属性被 stackoverflow 相关问题整理
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |