GET-запрос Alamofire вызывается только один раз после установки - Swift - PullRequest
0 голосов
/ 23 мая 2018

Я пытаюсь выполнить сетевые запросы с Alamofire вместе с SwiftyJSON для анализа и добавления объекта JSON в массив.Однако он работает только в первый раз после установки приложения.Если я убью приложение и введу его снова, запрос GET не будет вызван.Я не знаю, что происходит, чтобы это работало только один раз.

func getSubreddits() {

    guard let requestURL = URL(string: "https://oauth.reddit.com/subreddits/mine/subscriber?limit=100"),
        let token = KeychainWrapper.standard.string(forKey: "oauthToken") else { return }

    print("my retrieved token is \(token)")
    let headers = ["User-Agent" : "ios:com.GK.voyager:v1.0 (by /u/ZypherXX)",
                   "Content-Type" : "application/x-www-form-urlencoded",
                   "Authorization" : "bearer \(token)"]

    print(headers)

    Alamofire.request(requestURL, method: .get, parameters: [:], encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in

        switch response.result {
        case .success:
            if let value = response.result.value {
                let json = JSON(value) //Don't forget to import SwiftyJSON
                self.parse(json: json)
            }
        case .failure:
            if let error = response.result.error {
                print(error)
            }
        }
    }
}

func parse(json: JSON) {
    for result in json["data"]["children"].arrayValue {
        let subreddit = result["data"]["subreddit"].stringValue
        let description = result["data"]["description"].stringValue
        let name = result["data"]["display_name"].stringValue
        let subscribers = result["data"]["subscribers"].intValue
        let subObject = Subreddit(subreddit: subreddit, name: name, description: description, subscribers: subscribers)
        subreddits.append(subObject)
      print(subreddits)
    }
    tableView.reloadData()
}
...