与NSMutableArray比较

时间:2012-07-09 05:46:43

标签: iphone ios nsmutablearray nsmutabledictionary

在我从Array 1加载图片的NSDocumentDirectory中,我加载了它们并添加了NSMutableDictionary

self.images = [NSMutableArray array];
for(int i = 0; i <= 8; i++) 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDir = [paths objectAtIndex:0];

    NSString *savedImagePath = [documentsDir stringByAppendingPathComponent:[NSString stringWithFormat:@"Images%d.png", i]]; 
    if([[NSFileManager defaultManager] fileExistsAtPath:savedImagePath]){ 
        NSMutableDictionary *container = [[NSMutableDictionary alloc] init];
        [container setObject:[UIImage imageWithContentsOfFile:savedImagePath] forKey:@"image"];
        [container setObject:[NSNumber numberWithInt:i] forKey:@"index"];
        [images addObject:container];
    } 
}   

在我的其他数组Array 2中,我从应用中加载了它们。

    self.images = [NSMutableArray arrayWithObjects:
                   @"01.jpg",@"02.jpg",@"03.jpg",@"04.jpg",@"05.jpg",@"06.jpg",@"07.jpg",nil];

我能够像Array 2这样添加字符串:

for (int x=1; x<8;x++) {
    // add as NSString
    [images addObject:[NSString stringWithFormat:@"%d", x]];

    }

能够像这样比较Array 2

   NSInteger index = carousel.currentItemIndex;
    if ([[images objectAtIndex:index] intValue] == 1){

我想做的是,Array 1。 我知道Array 1已添加NSNumber,但我对NSMutableDictionary不熟悉,所以我不能像Array 2那样做。

可以和我的Array 2一样做,还是用另一种方式做什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

实际上这里有字典数组,因为你要添加的字典有两个带有键imageindex的对象

因此,要检索字典数组,

只需记录下来,看看会发生什么

编辑2.0

for(int i=0; i< [images count]; i++){
    NSNumber *num =[[images objectAtIndex:i] objectForKey:@"index"];

    int index = [num intValue];

    NSLog(@"%d",index)
}