同名的 Objective-C 类别

标签 objective-c objective-c-category

我有一组数据类,我想通过创建每个类独有的类别来使用自己的方法对其进行扩展。

声明类别时,每个类别是否需要有唯一的名称,或者可以重复使用相同的名称。

示例。假设我有一个 List 类和 ListItem 类,并且我想要这两个类上的类别。我现在所做的声明如下:

在List+Additions.h中

@interface List (Additions) ...

在ListItem+Addtions.h中

@interface ListItem (Additions) ...

可以吗?我无法判断它是否始终有效。什么被认为是类别名称?是“Additions”,还是“ListItem+Additions”的组合。

最佳答案

类别名称为List(Additions)ListItem(Additions)。因此,这两个类别是分开且独立的。

像“ListItem+Additions”这样的东西是定义类别的文件名的常见约定,但编译器和运行时都不会注意到这一点。

关于同名的 Objective-C 类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561000/

相关文章:

objective-c - 初始化变量并在 for 循环中更改其值后访问它

iOS - 向 NSObject 添加方法而不导入类别 .h 文件

objective-c - 编译器会为类别中声明的属性自动合成一个 ivar 吗?

ios - 带有类别的 nil 对象上的 setString

ios - #import 指令导入了错误的文件

objective-c - 使用 isEqualToString 时访问错误

objective-c - 在 NSTableView 文本单元格中创建和响应超链接

iphone - Windows 的 Objective C 编辑器

objective-c - 数组。如何实现 map 功能?

Objective-C 释放类别中声明的属性?