1

在我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吗?或者其他方式是什么?

谢谢您的帮助。

4

1 回答 1

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)
}
于 2012-07-09T06:23:27.497 回答