2017-02-04 4 views
-2

Привет, я занимаюсь разработкой приложения с быстрым 2.2 утра, получая данные с сервера в этих данных, получая несколько изображений, разделенных запятыми, например ..,Как передать несколько изображений, разделенных запятыми, на просмотр коллекции с помощью swift

{ 
    "success": 1, 
    "error": 0, 
    "message": [{ 
     "title": "aver monitor", 
     "image": "3037-1486200291.jpg,5056_25326756.jpg", 
     "views": "0", 
     "price": "12000", 
     "postdate": "2017-02-04 14:54:51", 
     "type": "0" 
    }] 
} 

в этом изображении значение am получение изображений Мне нужно передать эти изображения в виде коллекции.

изображения я получаю от сервера, не превышает более чем на 5 и я хочу, чтобы отобразить только 5, так что я написал функцию:

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
    return 5 
} 

я могу в состоянии отделить значение с помощью запятых отделено по строке (","), если я передаю значение am, получая такое же изображение в течение 5 раз. Мне нужно загрузить другое изображение во всей ячейке. Если есть только одно изображение, мне нужно загрузить это конкретное изображение в первой ячейке другие ячейки должны загружать статическое изображение, которое может быть любым изображением.

код, который я пробовал:

let json = JSON(data: data!) 

let imgString = json["message"]["image"].stringvalue 

let myData = imgString.componentsseperatedbystring(",") 

мой метод DataSource:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { 
    let cell = collectionView.dequeueReusableCellWithReuseIdentifier("editPendingCell", forIndexPath: indexPath) as! pendingEditCollectionViewCell 

    cell.myImage.sd_setImageWithURL(NSURL(string:pendingImageString)) 

    return cell 
} 
+0

Несвязанный, что JSON не очень хорошо спроектирован. 'image' должен быть массивом строк, а не строкой. Есть ли у вас возможность исправить это, а не программу вокруг плохого дизайна? Кроме того, я не знаю, как 'json [" message "] [" image "]' работал, потому что 'message' представляет собой массив словарей. Это должно быть 'json [" message "] [0] [" image "]'. – Rob

+0

Проблема лежит в 'pendingImageString'. Но вы не показываете нам, где вы это устанавливаете, поэтому немного сложно рассказать вам, как исправить это, кроме того, что вы, вероятно, должны ссылаться на массив с недоумением с именем 'myData', а не' pendingImageString'. – Rob

+0

Также не связаны, но классы должны начинаться с прописных букв, например. 'PendingEditCollectionViewCell', а не' pendingEditCollectionViewCell'. – Rob

ответ

0

Ok. Основываясь на комментариях, кажется, что вы смогли извлечь пару «ключ»/значение «изображение» из своего JSON.

Ваш код выглядит верным. У вас есть линия,

let myData = imgString.componentsseperatedbystring(",") 

Этот код должен создать массив myData, который будет содержать ваши имена изображений. Лучше было бы назвать imageNames.

Вы должны сделать эту переменную экземпляра, а затем проиндексировать ее, чтобы получить изображение для каждой из ваших ячеек.

Если у вас возникли проблемы, вам необходимо показать конец-конец кода, который создает массив имен файлов, а также информацию о том, где вы храните эту информацию.

+0

Я сделал этот процесс, что вы упомянули выше, теперь мне нужно вставить новую ячейку ... например, мне нужно отображать только пять ячеек, если у imageName есть два средства изображения, которые успешно прошли в моем представлении коллекции теперь я хочу отображать статические изображения в оставшаяся ячейка .... как это сделать ???? – user7333282

+0

Что значит «... отображать статические изображения в оставшейся ячейке ...» Какие статические изображения и какая «оставшаяся» ячейка? Ваше описание нечеткое и непонятное. –

Смежные вопросы