Ich versuche, das MVC-Muster zu verwenden, und ich habe die Alamofire-API verwendet, um die Antwort als JSON-Daten zu erhalten. Ich bin nicht in der Lage, die Daten zu senden, um die Tabellenansicht von meinem Modell zu aktualisieren. Helfen Sie mir, meine Tabelle mit den JSON-Werten zu aktualisieren.Wie kann ich die (JSON) -Werte des Modells an den View-Conroller senden?
Das ist mein API:
class func showData(completionHandler:(model)->()){
var arrRes = [[String:AnyObject]]()
Alamofire.request(.GET, "http://api.androidhive.info/contacts/").responseJSON { (req, res, json) -> Void in
let swiftyJsonVar = JSON(json.value!)
if let resData = swiftyJsonVar["contacts"].arrayObject {
arrRes = resData as! [[String:AnyObject]]
print(arrRes)
if arrRes.count > 0 {
let name = swiftyJsonVar["contacts"]["name"].stringValue
let email = swiftyJsonVar["contacts"]["email"].stringValue
let detail = model(name: name, email: email)
completionHandler(detail)
}
}
}
}
dies mein Controller ist:
class model: NSObject {
var name:String!
var email:String!
init(name:String , email:String){
super.init()
self.name = name
self.email = email
}
}
das ich habe nur die Tableview und zwei Etiketten sind:
@IBOutlet var appsTableView: UITableView!
var tableData:[model] = [model]()
override func viewDidLoad() {
super.viewDidLoad()
self.appsTableView.reloadData()
self.appsTableView.backgroundColor = UIColor.orangeColor()
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = appsTableView.dequeueReusableCellWithIdentifier("MyTestCell") as! newTabelcell
let dict = self.tableData[indexPath.row]
cell.name.text = dict.name
cell.mailid.text = dict.email
return cell
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return tableData.count
}
func configureTableView() {
appsTableView.rowHeight = UITableViewAutomaticDimension
appsTableView.estimatedRowHeight = 100.0
self.appsTableView.reloadData()
}
dies mein Modell ist eingefügt in die Zelle, ein Label für die Anzeige von JSON-Namen und andere für die Anzeige von JSON-E-Mail.