NSMutableArray中的类类型

可能重复:
有没有办法强制在NSArray,NSMutableArray等上打字?

我是Java程序员,我从Obj-C开始,在java中,我可以创建一个具有确定类型的类型的可变数组,如下所示:

ArrayList list; 

在Obj-c我知道NSMutableArray,但我不知道,也没有找到如何确定类的类型。

有没有办法用它或其他类没有NSMutableArray可以做到这一点吗?

非常感谢。

不,Cocoa / Objective-C不提供这样的类型集合。 集合中的所有对象都必须inheritance自NSObject (基本上除了基元和结构之外的所有对象),但除此之外,由您来理解/管理数组中发生的事情。 NSMutableArray中的对象在其接口中由generics类型id


从设计的角度来看,Cocoa中的集合通常包含均匀类型的对象。 数组的名称通常用于指示其中的内容(就像在Java中一样),例如bookTitlesArraybookTitles (即字符串)。 此外,从抽象的角度来看,有时轻量级类用于“包装”原始NSMutableArray以在接口处强制执行类型检查。 就像在一个名为BookTitleList的新类一样,它提供了add,lookup,remove方法的子集,并在例如validation后将它们传递给内部数组。 但YMMV取决于您的需求。

尽管Objective C中没有类型参数,但是你会发现它比Java中更少,因为你不需要向下转换来调用方法。 在这方面,Objective C更像是JavaScript。