Como preencher minha tableview com um raio mutablear de json
Então, eu estou buscando dados de um URL que está no formato json. Estou tentando exibir os dados na minha tableview, mas, embora pareça simples, não consigo descobrir como fazê-lo.
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()
}
}
Eu sei que já fiz isso antes ... Acho que simviewDidLoad()
Eu ligariaCompanyModel().getJSON()
que buscava os dados e os armazenava em uma matriz vazia, mas minha mente fica em branco sobre como fazê-lo.
Não posso declarar uma variável do NSarray e armazenar os dados dela diretamente para que eu possa preencher a visualização da tabela. No entanto, espero que isso explique o que estou tentando obter.