Я пытаюсь выполнить сетевые запросы с 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()
}