获取从Array中随机选择的对象类型?

时间:2011-11-10 22:42:58

标签: ios arrays object

我有一个充满不同类型对象的NSArray。让我们说一个是NSDictionary,另一个是NSData。 我如何从这个数组中随机选择一个对象,然后检查它是什么类型的对象。 所以如果它是一个NSDictionary,我会做方法A. 或者如果是NSData,我会做方法B.

我如何将其放入代码?

谢谢!

2 个答案:

答案 0 :(得分:7)

转换为Objective-C

 id obj = [array methodThatReturnsARandomObject];
 if ([obj isKindOfClass:[NSDictionary class]]) {
    a();
 } else if ([obj isKindOfClass:[NSData class]]) {
    UIImage *image = [UIImage imageWithData:obj]
 }

或者你可以做到

 NSObject *obj = [array methodThatReturnsARandomObject];
 if ([obj isKindOfClass:[NSDictionary class]]) {
    a();
 } else if ([obj isKindOfClass:[NSData class]]) {
    UIImage *image = [UIImage imageWithData:(NSData *)obj]
 }

没关系。

答案 1 :(得分:1)

您可以使用随机数生成器,它将获得介于0和数组最后一个索引之间的数字。然后,一旦获得对象,就可以对从数组返回的对象使用isKindOfClass或isMemberOfClass方法。