Получить JSON от API и вывести в TableView
Подскажите, как можно это реализовать. Имеем ссылку на JSON
urlToRequest = ="formatio.ru/api/v1/events?q=&city_id=&tag_id=&start_date=2015-01-01&end_date"
Имеем первую функцию: Принимает URL записанный как String. Возвращает объект типа NSData(Как я понял, после выполнения там находятся просто-напросто "сырые" данные)
func getJSON(urlToRequest: String) -> NSData{
return NSData(contentsOfURL: NSURL(string: urlToRequest))
}
Далее имеем 2 функцию, которая эти "сырые" данные будет обрабатывать(парсить) Принимает объект NSData, выдает объект типа NSDictionary(Выбираем этот тип данных так как он лучше всего подходит для хранения JSON'ов)
func parseJSON(inputData: NSData) -> NSDictionary{
var error: NSError?
var dictionaryFullJson: NSDictionary = NSJSONSerialization.JSONObjectWithData(inputData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary
return dictionaryFullJson
}
Далее, как я понимаю, 1)мы должны записать наш dictionaryFullJson в переменную типа NSDictionary в уже в функциию viewDidLoad() (Это ведь главная функция?)
override func viewDidLoad() {
super.viewDidLoad()
let storeJSONFromApi = parseJSON(getJSON(urlToRequest: String))
}
Все, после запуска приложения имеем наш Json, помещенный в NSDictioanary в константе storeJSONFromApi.
Верно ли я все понимаю?
Далее нужно вывести сам JSON из Dictionary в TableView. Как это можно реализовать?
Или же все-таки "Код, написанный в глобальной области используется в качестве точки входа для программы" и надо писать просто за границами других функций нашу
let storeJSONFromApi = parseJSON(getJSON(urlToRequest: String))
и она выполнится, так как будет являться точкой входа в программу?