2017-10-02 1 views
-1

das ist mein Code, es funktioniert gut in der Konsole und Daten zeigt es aber .................. .................................................. ..... funktioniert nicht in der Tabellenansicht Zelle ist leer ................ was soll ich tun, um Daten darin zu drücken? bitte dabei helfen ............................Daten werden in der Konsole geladen, aber nicht in die Tabellenansicht geladen Zelle

@IBOutlet weak var tMenPro: UITableView! 
    var nameArray = [String]() 
    var imgURLArray = [String]() 
override func viewDidLoad() { 
     super.viewDidLoad() 
     self.downloadJsonWithURL() 
     //self.nameArray.removeAll() 
     self.tMenPro.reloadData() 
     tMenPro.delegate = self 
     tMenPro.dataSource = self 
     self.slider() 
     // Do any additional setup after loading the view . 

      } 

func downloadJsonWithURL() { 
     Alamofire.request("http://...../api/products", method: .post, parameters: ["gender":"Men"], encoding: JSONEncoding.default) 
      .responseJSON { (DataResponse) in 
       print(DataResponse) 
     } 
     OperationQueue.main.addOperation({ 
      self.tMenPro.reloadData() 
     }) 
    } 


    func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return nameArray.count 
    } 
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "himCell", for: indexPath) as! HimProud 
     cell.himLbl.text = nameArray[indexPath.row] 
     //cell.dobLabel.text = adobArray[indexPath.row] 

     let imgURL = NSURL(string: imgURLArray[indexPath.row]) 
     cell.himImg.image = UIImage() 
     if imgURL != nil { 
      Alamofire.request("http://luxgems.co.uk/api/products", method: .post, parameters: ["main_image":""]).responseData { response in 
       debugPrint(response) 

       // print(response.request!) 
       // print(response.response!) 
       debugPrint(response.result) 

       if let imageData = response.result.value{ 
        cell.himImg.image = UIImage.init(data: imageData) 
       } 
      } 
      let data = NSData(contentsOf: (imgURL as URL?)!) 
      cell.himImg.image = UIImage(data: data! as Data) 
     } 
     return cell 

    } 
+0

........... bitte geben Sie eine MVCE an ............................... – the4kman

+0

okay, das nächste Mal, wenn die mir sagt, dass es zu viel Code und nicht genug Text gibt, nehme ich die ganze Zeit, um mein Problem zu erklären – ateek

Antwort

0

Der Tableview Reload muss Teil der Fertigstellung sein Handler der Anfrage.

func downloadJsonWithURL() { 
    Alamofire.request("http://luxgems.co.uk/api/products", method: .post, parameters: ["gender":"Men"], encoding: JSONEncoding.default) 
     .responseJSON { (DataResponse) in 
      print(DataResponse) 
      OperationQueue.main.addOperation({ 
       self.tMenPro.reloadData() 
      }) 
    } 
} 

Und natürlich müssen Sie nameArray füllen.

+0

und wie kann ich das tun? – ateek

+0

Nun, das hängt davon ab. Google für "json to array swift" und Sie werden viele Ideen für den Anfang finden. –

+0

Okay vielen Dank – ateek

Verwandte Themen