类在NSMutableArray的[复制]类型(Type of class in a NSMutab

2019-07-02 17:54发布

可能重复:
有什么办法来强制执行的NSArray,NSMutableArray里,等打字?

我是Java程序员,我开始上的OBJ-C,Java中我可以创建一个可变的数组确定类型的类一样,如下:

ArrayList<MyClass> list;

在对象 - 我知道的NSMutableArray但我不知道,并没有发现如何确定的类的类型进去。

有一个办法让这个与它或其他类没有NSMutableArray中能做到这一点?

非常感谢。

Answer 1:

不,可可/ Objective-C中不提供类型集合这样。 集合中的所有对象都必须继承NSObject (这基本上是除了基本类型和结构的一切),但除此之外,它是由你来了解/管理什么是数组中事。 在对象NSMutableArray在由通用类型它的接口表示id


从设计的角度来看,在可可收藏一般都含有均匀类型对象。 数组的名字经常被用来表明什么是里面(就像在Java中),例如bookTitlesArray或只是bookTitles (即字符串)。 另外,从一个抽象的角度来看,有时轻质类用于“包装”原始NSMutableArray在界面处执行的类型检查。 如,一个叫新类BookTitleList其提供的添加,查找的一个子集,删除方法,并通过他们通过例如验证后的内部数组。 但情况因人而异根据您的需要。



Answer 2:

虽然有在目标C没有类型的参数,你会觉得比在Java中,因为你不必垂头丧气调用方法少扰民。 目标C更像是JavaScript的在这方面。



文章来源: Type of class in a NSMutableArray [duplicate]