在 iOS 中,可以使用以下几种方式来定义类别(Category):
1. 基础类别定义:
```objc
@interface ClassName (CategoryName)
- (void)categoryMethod;
@end
@implementation ClassName (CategoryName)
- (void)categoryMethod {
// 实现类别方法
}
@end
```
2. 使用 Extension 扩展类别:
```objc
@interface ClassName ()
- (void)extensionMethod;
@end
@implementation ClassName
- (void)extensionMethod {
// 实现扩展方法
}
@end
```
3. 声明私有类别:
```objc
@interface ClassName (PrivateCategory)
- (void)privateMethod;
@end
@implementation ClassName (PrivateCategory)
- (void)privateMethod {
// 实现私有类别方法
}
@end
```
4. 在 Swift 中使用扩展(Extension):
```swift
extension ClassName {
func extensionMethod() {
// 实现扩展方法
}
}
```
类别的主要作用是:
1. 扩展现有类的功能,添加新的方法或属性。
2. 组织和封装相关的方法,提高代码的可读性和可维护性。
3. 为不同的使用场景提供特定的方法。
4. 隐藏实现细节,提供更友好的接口。
需要注意的是,类别中添加的方法会覆盖原有类中的同名方法。同时,类别中不能添加新的成员变量,只能添加新的方法。