可能重复:
有什么办法来强制执行的NSArray,NSMutableArray里,等打字?
我是Java程序员,我开始上的OBJ-C,Java中我可以创建一个可变的数组确定类型的类一样,如下:
ArrayList<MyClass> list;
在对象 - 我知道的NSMutableArray但我不知道,并没有发现如何确定的类的类型进去。
有一个办法让这个与它或其他类没有NSMutableArray中能做到这一点?
非常感谢。
可能重复:
有什么办法来强制执行的NSArray,NSMutableArray里,等打字?
我是Java程序员,我开始上的OBJ-C,Java中我可以创建一个可变的数组确定类型的类一样,如下:
ArrayList<MyClass> list;
在对象 - 我知道的NSMutableArray但我不知道,并没有发现如何确定的类的类型进去。
有一个办法让这个与它或其他类没有NSMutableArray中能做到这一点?
非常感谢。
不,可可/ Objective-C中不提供类型集合这样。 集合中的所有对象都必须继承NSObject
(这基本上是除了基本类型和结构的一切),但除此之外,它是由你来了解/管理什么是数组中事。 在对象NSMutableArray
在由通用类型它的接口表示id
。
从设计的角度来看,在可可收藏一般都含有均匀类型对象。 数组的名字经常被用来表明什么是里面(就像在Java中),例如bookTitlesArray
或只是bookTitles
(即字符串)。 另外,从一个抽象的角度来看,有时轻质类用于“包装”原始NSMutableArray
在界面处执行的类型检查。 如,一个叫新类BookTitleList
其提供的添加,查找的一个子集,删除方法,并通过他们通过例如验证后的内部数组。 但情况因人而异根据您的需要。
虽然有在目标C没有类型的参数,你会觉得比在Java中,因为你不必垂头丧气调用方法少扰民。 目标C更像是JavaScript的在这方面。