NSData и NSArray - [__ NSArrayM длина] - PullRequest
       31

NSData и NSArray - [__ NSArrayM длина]

1 голос
/ 17 октября 2011

Я не знаю, что здесь происходит, но этот фрагмент кода генерирует исключения. По сути, я храню NSData в массиве, а затем извлекаю его для использования внутри UIImageView. вот код.

    imagesDataArray = [[NSMutableArray alloc] init];
    NSArray *imgDataArr = [[NSArray alloc] initWithArray:imageDataArray];
    for(int i = 0; i < [imgDataArr count]; i++)
    {
        NSLog(@"%@",[imgDataArr objectAtIndex:i]);
        UIImage *thumbImage = [[UIImage alloc] initWithData: [imgDataArr objectAtIndex:i]]; //this throws the exception
        [imagesDataArray addObject:thumbImage];
        [thumbImage release];
    }
    [imgDataArr release];

Как вы можете видеть, тот же код [imgDataArr objectAtIndex: i] я использовал в NSLog, и он работает нормально, но когда я соединяю его с initWithData, он становится странным. вот журнал ошибок.

    2011-10-17 15:56:47.008 myapp[39498:b303] -[__NSArrayM length]: unrecognized   
    selector sent to instance 0x4c98420
    2011-10-17 15:56:47.009 myapp[39498:b303] *** Terminating app due to uncaug

1 Ответ

0 голосов
/ 17 октября 2011

проверить имя массива .imagesDataArray

imagesDataArray = [[NSMutableArray alloc] initWithObjects:@"image1.png",@"image2.png",@"image3.jpg",@"image4.png",@"image6.png",@"image7.png",nil];
NSArray *imgDataArr = [[NSArray alloc] initWithArray:imagesDataArray];
for(int i = 0; i < [imgDataArr count]; i++)
{
    NSLog(@"%@",[imgDataArr objectAtIndex:i]);
    UIImage *thumbImage = [[UIImage alloc] initWithData: [imgDataArr objectAtIndex:i]]; //this throws the exception
    [imagesDataArray addObject:thumbImage];
    [thumbImage release];
}
[imgDataArr release];
...