gpt4 book ai didi

swift - swift 课前@objc 和课上@objc(class_name) 的区别?

转载 作者:搜寻专家 更新时间:2023-10-30 23:10:04 26 4
gpt4 key购买 nike

有什么区别:

@objc class MyClass: NSObject{}

@objc(MyClass)
class MyClass: NSObject{}

最佳答案

@objc 修饰符在 Swift 2 中被弃用。所有标记为 @objc 的类都必须是 NSObject 的子类,从而使修饰符 @objc 变得多余。

但是,

@objc(xxx) 用于定义类的替代名称(供运行时和 Objective-C 代码使用)。

此修饰符仅在您希望在运行时/Objective C 代码中使用不同的名称时才有用。

默认情况下,运行时名称与声明的名称相同,以模块名称和点作为前缀。例如,class X: NSObject {} 在运行时将是 @objc(MyModule.X)

关于swift - swift 课前@objc 和课上@objc(class_name) 的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33512917/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com