我正在将应用程序从Android Java移植到iPhone。
在Android中,我使用了Lists / ArrayLists。
在iPhone上我打算使用NSMutableArray。
是否有任何方法可以定义甚至指示NSMutableArray中的对象类型。
我知道可以在那里放置任何类型的物体,但我想让它更加明显和透明。
非常感谢
答案 0 :(得分:3)
目前尚不清楚你在问什么。
如果你只是想让读者清楚地知道数组中有哪些对象,只需恰当地命名它(你不能在语言层面强制执行它):
NSMutableArray * arrayOfMyClasses;
另一方面,如果要查找从数组中读回的对象类型,则可以使用以下方法获取基础类:
[obj class]
或者与其他班级类型轻松比较:
if ([obj isKindOfClass:[MyClass class]) { ... }
添
答案 1 :(得分:2)
我假设您正在寻找目标C中的模板模式。不幸的是,目标C中没有它(至少直接)。
您可能会发现有关StackOverflow.com的this问题
答案 2 :(得分:1)
您只能指明一种类型。
for(id obj in _assets) {
NSString *className = NSStringFromClass([obj class]);
NSLog(@"%@", className);
}
数组是任何类型对象的有序集合。例如, 图1中数组包含的对象可以是任意组合 猫和狗的对象,如果阵列是可变的,你可以添加更多的狗 对象。该集合不必是同质的。
Collections Programming Topics - Arrays: Ordered Collections