#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>