2017-01-26 3 views
1

Ich bin neu in iOS und begann mit einigen Tutorials. Aber wenn ich versuche, den Inhalt in tableview anzuzeigen, wird es nicht angezeigt. Ich habe alles so gemacht wie in diesem Tutorial. Aber ich konnte meinen contentnt immer noch nicht in meiner Tabellenansicht anzeigen.Daten werden nicht in der Tabellenansicht angezeigt

Hier mein tutoial Link: My link

Hier mein Code:

import UIKit 
import Alamofire 

class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { 

    @IBOutlet weak var tableView: UITableView! 
    var nameArray = [AnyObject]() 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view, typically from a nib. 


     Alamofire.request("http://thecodeeasy.com/test/swiftjson.json").responseJSON { response in 

      let result = response.result 
      if let dict = result.value as? Dictionary<String,AnyObject>{ 
       if let mainDict = dict["actors"] { 
        self.nameArray = mainDict as! [AnyObject] 
        self.tableView.reloadData() 
       } 

      } 


      } 
    } 



    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    { 
     return nameArray.count 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    { 

     let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath as IndexPath) as? CustomTableViewCell 

     let title = nameArray[indexPath.row]["title"] 
     cell?.ContentName.text = title as? String 
     return cell! 
    } 

} 
+0

ist es in swift 3.0? –

+0

JA ........... –

+0

Schreiben Sie Alamofire.request ("http://thecodeeasy.com/test/swiftjson.json") in viewdidappear anstelle von viewdidload –

Antwort

1

Es gibt drei Möglichkeiten, dass Sie keine Daten erhalten. Zunächst ist Ihre App-Datenquelle nicht richtig eingestellt. Bitte überprüfen Bild für diese

enter image description here

Zweitens Fügen Sie den API-Code in viewDidAppear und überprüfen, ob es funktioniert oder nicht

============= Wichtig == ==========

Drittens ist Ihre info.plist folgenden Code enthalten überprüfen. Da, wann immer Sie den Internetanruf tätigen, sollten Sie diesen Code in Ihrer info.plist Datei haben.

Rechtsklick auf info.plist und offen als Quellcode

Fügen Sie den folgenden Code

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Versuchen Sie, die App zu starten. Lassen Sie mich wissen, ob es für Sie arbeitet.

Bitte überprüfen Sie den Link für die Code-click here

Danke

Abhishek Sharma

0

die Sie interessieren in der Spitze des viewDidLoad

self.tableView.delegate = self 
self.tableView.dataSource = self 
0

Wie ich sehe, können Sie eine tableview innerhalb eines verwenden Controller anzeigen. Sie sollten Delegat und Datenquelle dieses tableview zu self festlegen.

Schreiben Sie diese 2 Zeilen in der View-Controller:

self.tableView.delegate = self 
self.tableView.datasource = self 

Sie, dass mit XIB tun.

Wenn Sie bereits getan haben oder das nicht funktioniert, dann versuchen Sie Ihr self.nameArray Druck und überprüfen, ob erwarteten Daten haben.

Verwandte Themen