извлеченные данные JSON Словарь или массив пуст в источнике данных viewdidload или tableview? - PullRequest
0 голосов
/ 08 мая 2019

Я хочу добавить строки из массива словаря из бэкэнда. но всегда вне функции извлечения

//fetch data
func fetchFaqs(){
    let manager = APIManager()
    manager.parsingGet(url: BaseURL.faqs) { (JSON, Status) in
        if Status {
            let dict = JSON.dictionaryObject
            let data = dict!["data"] as! [[String:Any]]
            self.faqs = data as! [[String : String]]
        }
    }
}
//Viewdidload
class FaqViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

    var faqs = [[String:String]]()
    var questions = NSMutableArray()
    var answers = NSMutableArray()

    @IBOutlet var faqsTableView: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()

        fetchFaqs()
        self.faqsTableView.reloadData()
        print(faqs)
        //        faqsTableView.rowHeight = UITableView.automaticDimension
        //        faqsTableView.estimatedRowHeight = 600
    }
}

1 Ответ

1 голос
/ 08 мая 2019

Обновить таблицу в закрытии вызова API в главной теме

func fetchFaqs(){
    let manager = APIManager()
    manager.parsingGet(url: BaseURL.faqs) { (JSON, Status) in
        if Status {
            let dict = JSON.dictionaryObject
            let data = dict!["data"] as! [[String:Any]]
            self.faqs = data as! [[String : String]]
            DispatchQueue.main.async {
                self.faqsTableView.reloadData()
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...