Wie kann ich meine Tabellenansicht mit einem mutablearray von json @ fülle
So hole ich Daten von einer URL, die in einem JSON-Format ist. Ich versuche, die Daten in meiner Tabellenansicht anzuzeigen, aber obwohl es sich einfach anfühlt, kann ich nicht herausfinden, wie es geht.
class CompanyModel {
func getJSON() {
let companyArray: NSMutableArray = NSMutableArray()
let requestURL: NSURL = NSURL(string: "http://localhost/Companies/JSON.php")!
let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(urlRequest) {
(data, response, error) -> Void in
let httpResponse = response as! NSHTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
print("Everyone is fine, file downloaded successfully.")
do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments)
if let companies = json["companies"] as? [[String: AnyObject]] {
for company in companies {
if let name = company["name"] as? String,
let phoneNumber = company["phone_number"] as? String,
let website = company["website"] as? String,
let email = company["email"] as? String,
let address = company["address"] as? String
{
let company = CompanyModel()
company.name = name
company.phoneNumber = phoneNumber
company.website = website
company.email = email
company.address = address
}
companyArray.addObject(company)
print(companyArray)
}
}
} catch {
print("Error with Json: \(error)")
}
}
print(companyArray) <- array is populated
}
print(companyArray) <- array is empty
task.resume()
}
}
Ich weiß, ich habe es schon einmal gemacht .... Ich vermute inviewDidLoad()
Ich würde @ anrufCompanyModel().getJSON()
, das die Daten abruft und sie dann in einem leeren Array speichert, aber ich habe keine Ahnung, wie es geht.
Ich kann keine Variable von NSarray deklarieren und die Daten dieser Variablen direkt speichern, damit ich die Tabellenansicht auffüllen kann. Trotzdem hoffe ich, dass dies erklärt, was ich zu erreichen versuche.