【发布时间】:2014-01-31 20:14:04
【问题描述】:
我不认为我在这个网站上找到了一个和我自己的例子非常相似的例子,尽管我确信这会一直弹出,而且我刚刚在 my book 完成了关于这个主题的一章。
我不是在寻找任何复杂的东西,但我只想为 NSMutableArray 为某种类型的对象添加一些功能,因为我不想继承 NSMutableArray 的子类,因为这似乎太难了,但是我可能会改变主意。
我想要一个类别,它提供符合 NDVector 协议的 NSMutableArrays 能够执行某些操作,例如计算范数、绕轴旋转等。
我已经尝试了几件事,我目前认为应该是这样的:
- 制定协议:
@protocol NDVector <NSMutableArray>并在那里声明方法 - 创建一个类别
@interface NSMutableArray (NDVector)...同时声明方法? - 在该类别的实现
@implementation NSMutableArray (NDVector)中实现方法 - 最后,不知何故实例化一个
NSMutableArray<NDVector>(我来自Java),像这样NSMutableArray<NDVector> vec = [[NSMutableArray alloc] init]的对象
我应该怎么做呢?请不要只发送链接,提供与我的方法相似的解释,但要包含正确的步骤。
【问题讨论】:
-
为什么是
<NSMutableArray>? -
因为我希望我的
NDVectors 是可变的。我应该为此使用更好的课程吗? -
我想你不明白那个语法在 Obj-C 中的含义。不要将 Java 泛型与也由 表示的 Obj-C 协议混合。
-
@Sulthan 我知道在 Obj-C 中不是这样。这就是为什么我要问它是如何完成的。
标签: objective-c nsmutablearray protocols objective-c-category