简体   繁体   中英

How to hide the cell in tableview if json data nil

How to hide the cell collectionview in section if json data is nil. im loading collectionview in a tableview cell.my code is belowim showing array of images in collection view i have used third party for horizontalautomatic scroll as third party for collection view

func setCollectionData(_collectionData: [Any]) {
    self.collectionData = _collectionData as NSArray      
    collectionViewObj.setContentOffset(CGPoint(x:0,y:0), animated: true)       
    for i in 0 ..< collectionData.count {
        self.strings = StringClass()
        self.strings.vehicleImage = (collectionData[i] as AnyObject).value(forKey: "img_name") as? String                        
        self.strings.vehicleTitle=(collectionData[i] as AnyObject).value(forKey: "p_name") as? String                  
        self.modelArray.append(self.strings)                        
    }    
    collectionViewObj.reloadData()
}            
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
    if self.collectionData.count >= 4 {
        return 4
    }
    else
    {
    return collectionData.count
    }
}    

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ProductCollectionViewCustomCell", for: indexPath)as! ProductCollectionViewCustomCell        
    strings = modelArray[indexPath.row]        
    cell.ProductTitleLabel.text =  strings.vehicleTitle        
    let URLBaseString = "http://vehiclebuzzzz.com/"        
    let url = URL(string:URLBaseString .appending(strings.vehicleImage!))        
    let dataurl = try? Data(contentsOf: url!)    
    cell.productImageViewObj.image=UIImage(data: dataurl!)                
    return cell
}
func collectionView(_ collectionView: UICollectionView,layout collectionViewLayout: UICollectionViewLayout,sizeForItemAt indexPath: IndexPath) -> CGSize 

override this method and return zero size CGSize.zero if the json data is nil else return actual size of cell

OR

remove nil data from array and call collectionView.reloadData()

使用新数据更新collectionData数组,然后执行collectionViewObj.reloadData()

-If you does not want show collection view. just hide the collection view until you get the data. -When you data make it visible

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM