ios - Alamofire GET 请求仅在安装后调用一次 - Swift
问题描述
我正在尝试发出网络请求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()
}
解决方案
推荐阅读
- r - R plotly变量值刻度距离到下图
- swift - 重置 FCM 令牌 Swift
- c# - 使用 NuGet 包管理器安装 Entity Framework 6 不会创建相关引用。(我认为)
- excel - 在 PasteSpecial vba 之后获得选择
- xcode - 如何使 Xcode 12.4 中的 Tab(⇥) 按钮工作?
- c# - 克隆存储库后,为 TypeScript 导入 MsBuildTargets 不起作用
- java - 加载期间的neo4j OGM StackOwerflow错误
- blazor - 选择性加载 Javascript
- vue.js - Vue - 当父级不传递道具时在子组件中管理自定义 v-model
- html - 导航标签中的链接或按钮角色