问题描述
我想创建现有 swift 类的类别,但 IDE 中没有这样做的选项.
I want to create category of my existing swift class, but there is no option in IDE to do so.
知道 swift 项目中是否存在类别吗?或者如何在swift项目中实现类似的功能?
Any idea if category exists in swift project? Or how to achieve similar functionality in swift project?
推荐答案
在 Swift 中,您可以使用 Extensions
向现有类、结构和枚举类型添加新功能.
In Swift, you can use Extensions
to add new functionality to existing classes, structs and enumeration types.
它们在几个方面与 Objective-C 类别不同,主要是:
They differ from Objective-C categories in a few ways, mainly:
- 他们没有名字
- 您不需要显式导入扩展.如果您定义扩展以向现有类型添加新功能,则新功能将可用于该类型的所有现有实例,即使它们是在定义扩展之前创建的.
- 如上所述,它们不仅适用于类,还适用于其他类型.
就目前而言,扩展可以:
As it stands today, Extensions can:
- 添加计算属性和计算静态属性
- 定义实例方法和类型方法
- 提供新的初始化器
- 定义下标
- 定义和使用新的嵌套类型
- 使现有类型符合协议
声明扩展的基本语法如下:
The basic syntax to declare an extension is as follows:
extension SomeType {
// new functionality to add to SomeType goes here
}
检查 Apple 的文档有关如何在 Swift 中使用扩展的更多信息.
Check Apple's documentation for more information on how to use Extensions in Swift.
这篇关于如何为类别创建快速类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!