2011-11-24 72 views
0

我正在从Android Java移植一个应用程序到iPhone。最好的方式/任何方式来指示键入NSMutableArray

在Android中我使用了Lists/ArrayLists很多。

在iPhone上我打算使用NSMutableArray。

是否有任何方法来定义或甚至指示NSMutableArray中的对象的类型。

我知道人们可以放置任何类型的对象,但我想让它更加明显透明。

非常感谢

回答

2

我假定你正在寻找目标C.模板模式遗憾的是,它(至少直接)不在目标C可用。

您可能会发现StackOverflow.com有趣的this问题

+0

谢谢,这是一个动态处理它的好方法。 – user387184

3

目前尚不清楚你在问什么。

如果你只是想明确告诉读者什么样的对象的种类在数组中,只是将其命名为适当的(你不能在语言级别上付诸实施):

的NSMutableArray * arrayOfMyClasses;

如果,另一方面,你要发现你正在阅读从数组回来,那么你可以使用获得基础类对象的类型:

[obj class] 

否则容易比较其他类类型:

if ([obj isKindOfClass:[MyClass class]) { ... } 

+0

是的,这就是我问了 - 命名我发现了太多的唯一解决方案。感谢您的确认! – user387184

1

您只能说明一个类型。

for(id obj in _assets) { 
    NSString *className = NSStringFromClass([obj class]); 
    NSLog(@"%@", className); 
} 

数组是有序的任何类型的对象的集合。例如,图1中数组所包含的对象可以是猫和狗对象的任意组合,如果数组是可变的,则可以添加更多狗 对象。收藏品不一定是同质的。

Collections Programming Topics - Arrays: Ordered Collections