проблема с доступом к NSMutableArray

#ios #nsmutablearray

#iOS #nsmutablearray

Вопрос:

У меня следующая проблема:

 int index=6;
imageView.image=[imageArray objectAtIndex:index];
NSLog(@"%@",[imageArray objectAtIndex:index]);
  

Если я запускаю этот код, я получаю (null) в качестве выходных данных … хотя я аккуратно поместил изображения внутри массива, используя следующий код:

 NSURL *url = [NSURL URLWithString:@"somelink"];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
[imageArray addObject:image];
  

Я почти уверен, что есть 20 изображений (я использую XML-файл и печатаю URL и изображение), и изображение тоже в порядке. Я печатаю значения image перед помещением в массив, и вот значение, которое я получаю
является :

 <UIImage: 0x5368670>
  

Кто-нибудь может любезно помочь мне? Спасибо.

Ответ №1:

Помните, что вам нужно будет создать новый экземпляр NSMutableArray … возможно, вы просто вызываете методы с нулевым значением.

Прежде чем запускать для вас imageArray, убедитесь, что вы делаете что-то вроде:

 imageArray = [NSMutableArray array]; 
// or      = [[NSMutableArray alloc] init]    if you want to "retain" it
//                                            for use in other methods
  

Ответ №2:

Добавили ли вы хотя бы семь таких объектов в массив? Помните, что NSArray (и друзья) считаются с нуля, а не с единицы.

Кроме того, вы уверены, что добавляемый вами объект не равен null (т.Е. dataWithContentsOfURL: и imageWithData: оба являются успешными)?

Комментарии:

1. Я уверен. Я печатаю значение image при их добавлении, и пример вывода выглядит так: <UIImage: 0x5368670>