Как получить CGSizes изображений в NSArray

У меня есть NSArray который содержит NSStringс изображениями URL, вот так:

NSArray *array = [NSArray arrayWithObjects:@"http://graphics8.nytimes.com/images/2014/07/22/blogs/20140722-lens-mark-slide-SG5C/20140722-lens-mark-slide-SG5C-custom1.jpg", @"http://graphics8.nytimes.com/images/2014/07/22/blogs/20140722-lens-mark-slide-SG5C/20140722-lens-mark-slide-SG5C-custom2.jpg", @"http://graphics8.nytimes.com/images/2014/07/22/blogs/20140722-lens-mark-slide-6N62/20140722-lens-mark-slide-6N62-blog480.jpg", nil];

Как я могу получить CGSize каждого imageUrl?

Я знаю, как получить размер одного imageUrl примерно так:

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://graphics8.nytimes.com/images/2014/07/22/blogs/20140722-lens-mark-slide-SG5C/20140722-lens-mark-slide-SG5C-jumbo.jpg"]]];
CGSize imageSize = image.size;

1 ответ

Решение
for(NSString *stringURL in array)
{
    UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:stringURL]]];
    CGSize imageSize = image.size;
}

Я бы не советовал делать это в основной ветке.

Если вы хотите получить массив размеров, вы должны сделать следующее:

NSMutableArray *sizes = [NSMutableArray array];
for(NSString *stringURL in array)
{
    UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:stringURL]]];
    CGSize imageSize = image.size;
    [sizes addObject:[NSValue valueWithCGSize:imageSize];
}

После этого вы можете получить CGSize следующим образом:

CGSize imageSize = [sizes[index] CGSizeValue];
Другие вопросы по тегам