【发布时间】:2014-06-27 17:00:08
【问题描述】:
我想在游戏中跟踪可变数量的对象,它们都是 Objective-C 中同一类或继承类的所有实例。
在 Java 中我会做类似的事情
List<MyClass> list = new ArrayList<>();
就是这样。我找不到使用 Cocoa / Foundation 的类似明显的解决方案。我可以以某种方式使用 NSMutableArray 吗? 请注意,我需要对象是我希望它们成为的特定类型,而不是 id。我也希望不必使用类别或从 NSMutableArray 继承,而只是以某种方式使用 NSMutableArray,以便将其返回的内容转换为我需要的类。
【问题讨论】:
-
纠正你自己的集合类或 NSMutableArray 上的一个类别来检查你插入的类型并不难,但就基础类而言,这样的东西不存在。
-
在 Obj-C 中没有类似的东西。即使在 Java 泛型 1.5 中,它们从一开始就没有。
-
从好的方面来说它确实存在于 swift 中!
-
关于“重复答案”:我之前看过链接的问题,但对答案不太满意。我的问题的公认答案正是我正在寻找的(一种使用 NSMutableArray 的方法,但仍然能够取出对象并使它们成为我想要的类型,而不是 id)。我是否应该尝试改写我的问题以指出使用 NSMutableArray 而不必修改或继承它的重点?
标签: objective-c cocoa