Как я могу динамически создавать MKTileOverlay в соответствии с определенными URL-адресами из NSMutableArray

#ios #objective-c #nsmutablearray #nsdictionary #mktileoverlay

#iOS #objective-c #nsmutablearray #nsdictionary #mktileoverlay

Вопрос:

У меня есть NSDictionnary внутри NSMutableArray (dateArrayURL)

Это выглядит так :

 dateArrayURL: (
    {
    date = "2016-10-04 13:00:00  0000";
    urlImage = "http://www.xxx/XX/XX.jpg";
},
    {
    date = "2016-10-04 12:45:00  0000";
    urlImage = "http://www.xxx/XX/XX.jpg";
},
    {
    date = "2016-10-04 12:30:00  0000";
    urlImage = "http://www.xxx/XX/XX.jpg";
},
    {
    date = "2016-10-04 12:15:00  0000";
    urlImage = "http://www.xxx/XX/XX.jpg";
},
  

Обратите внимание, что изображения URL различны для каждой даты.

Теперь я хотел бы создать MKTileOverlay для каждой даты / URL, которые у меня есть в моем MutableArray, с помощью следующего метода :

 tileOverlay = [[MKTileOverlay alloc] initWithURLTemplate:urlTemplate];
  

Должен ли я выполнять цикл для каждого моего элемента в массиве и создавать MKTikeOverlay с соответствующим URL-адресом?
Как я могу это сделать, я застрял при доступе к элементам в словаре / массиве.

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

1. Подсказка для цикла: for (NSDictionary *aDict in dateArrayURL){NSString *urlStr = aDict[@"urlImage"]; NSLog(@"urlStr: %@", urlStr);}

2. Хорошо, теперь я перебираю каждый свой URL-адрес из словаря. Что мне нужно, так это динамически создавать массив MKTileOverlay, инициализированный во время цикла с каждым URL-адресом.

3. NSMutableArray *allTileOverlay = [[NSMutableArray alloc] init]; for (...){{MKTileOverlay *anOverlay = [[MKTileOverlay alloc] initWithURLTemplate:urlStr]; [allTileOverlay addObject:anOverlay]; }`?

4. Именно то, что я искал, я не знаю, почему я был смущен, мне нужно больше практики с массивами / словарем

Ответ №1:

Этот вопрос решается благодаря @Larme, который помог мне в комментариях.