2016-03-30 15 views
0

KoleksiyonView içinde JSON ayrıştırma kullanarak görüntü yüklemek istiyorum. Görüntü URL'leri dizisi alıyorum, ancak resimler UIImageView'da gösterilmiyor. JSON dizisini aldıktan ve UICollectionView 'UIImageView'da görüntüledikten sonra bu kodu kullandım.Toplama koleksiyon JSON görüntü biçimlendirmesi url swift

if let url = NSURL(string: self.Products[indexPath.row].image) { 
     if let data = NSData(contentsOfURL: url){ 
      cell.product_image.contentMode = UIViewContentMode.ScaleAspectFit 
      cell.product_image.image = UIImage(data: data) 
     } 
    } 

Ancak resim yükleyemiyorum, ancak metin görüntülenir. Bu kodu cellForItemAtIndexPath yönteminde kullandım. Herkes bana neyi yanlış yaptığımı önerebilir mi?

func jsonParsingFromURL(){ 
     // 1 
     let reposURL = NSURL(string: "http://api.room2shop.com/api/product/GetProducts?categoryId=24&filter=2&pageNumber=1") 
     // 2 
     if let JSONData = NSData(contentsOfURL: reposURL!) { 
      // 3 
      do 
      { 
       if let json = try NSJSONSerialization.JSONObjectWithData(JSONData, options: .AllowFragments) as? NSDictionary { 
        // 4 
        if let reposArray = json["ProductList"] as? [NSDictionary] { 
         // 5 
         for item in reposArray { 
          Products.append(ProductList(json: item)) 
         } 
        } 
       } 
      } 
      catch { 
       print("Error with Json: \(error)") 

      } 
     } 
    } 

Bu, kullanmak için gereken değişiklikleri yansıtacak şekilde benim JSON ayrıştırma kodu

+1

Hiç 'self.collectionView yapıyorsun? .reloadData()' ??? – DeyaEldeen

+0

hayır .. Bunu yapmıyorum –

cevap

1

olduğunu

self.collectionView?.reloadData() 

DÜZENLEME

1- bununla bu bloğu yerine lütfen, ve eğer söyle URL'leri normalde alırsınız, benim için normal olarak URL'leri aldım

   for item in reposArray 
       { 
        //ProductList(json: item) 
        //Products.append(ProductList(json: item)) 
        //print(item) 
        print("__________") 
        print(item["Image"]!) 

       } 

2- i başlamıştı

Taşıma Güvenliği

çözüm burada bir cleartext HTTP Engellenen etti. Transport security has blocked a cleartext HTTP

+0

nerede yapmalıyım ?? JSON ayrıştırma için kodumu güncelledim .. –

+0

Products.append den sonra deneyin (ProductList (json: öğe)) – DeyaEldeen

+0

tamam .. Denemek ve izin verirseniz –

1

kullanımı bu

// taking the URL , then request image data, then assigne UIImage(data: responseData) 
      let imgURL: NSURL = NSURL(string: "www.example.com/image.jpg")! 
      let request: NSURLRequest = NSURLRequest(URL: imgURL) 
      let session = NSURLSession.sharedSession() 
      let task = session.dataTaskWithRequest(request) { 
       (data,response,error) -> Void in 
       if (error == nil && data != nil) { 
        func display_image() { 
        // imageView.post.image = your UIImage 
        self.imageViewPost.image = UIImage(data: data!) 
        } 

        dispatch_async(dispatch_get_main_queue(), display_image) 
       } 
      } 
      task.resume() 
      // end of loading img