Swift 2 - 如何从 Alamofire.responseJSON 获取数据
Swift 2 - how to get data from Alamofire.responseJSON
我正在阅读设计+代码课程,我有 2 个文件:
- DNService.swift
- StoriesTableViewController.swift
形成 DNService 我正在从 DesignerNews API 加载数据,这是获取数据的函数:
static func storiesForSection(section: String, page: Int, response: (JSON) ->()) {
let urlString = baseURL + ResourcePath.Stories.description + "/" + section
let parameters = [
"page": String(page),
"client_id": clientID
]
Alamofire.request(.GET, urlString, parameters: parameters).responseJSON { (response) -> Void in
let swiftyData = JSON(response.result.value ?? [])
//print(swiftyData)
}
}
在 StoriesTableViewController
中,我调用函数 storiesForSection()
但它没有检索数据:
var stories: JSON! = []
func loadStories(section: String, page: Int) {
DNService.storiesForSection(section, page: page) { (JSON) -> () in
self.stories = JSON["stories"]
self.tableView.reloadData()
}
}
我不知道如何在我的 StoriesTableViewcontroller
中填写 self.stories
...
我尝试将 swiftyData 存储在 DNService 的 var 中,并在 StoriesTableViewCtler
中创建一个 getStoredSwiftyData()
,但它也不起作用。
storiesForSection:page:response
有回调函数,以JSON对象为参数调用即可。
Alamofire.request(.GET, urlString, parameters: parameters).responseJSON { (response) -> Void in
let swiftyData = JSON(response.result.value ?? [])
response(swiftyData)
}
//Swift4
import Alamofire
//仅通过.get方法获取数据获取数据后可以将其转换为合适的格式
let url2:URL=URL(string: values)!
Alamofire.request(url2).response
{ response in
if(response.data != nil)
{
}
else{
print(response.error)
}
}
我正在阅读设计+代码课程,我有 2 个文件:
- DNService.swift
- StoriesTableViewController.swift
形成 DNService 我正在从 DesignerNews API 加载数据,这是获取数据的函数:
static func storiesForSection(section: String, page: Int, response: (JSON) ->()) {
let urlString = baseURL + ResourcePath.Stories.description + "/" + section
let parameters = [
"page": String(page),
"client_id": clientID
]
Alamofire.request(.GET, urlString, parameters: parameters).responseJSON { (response) -> Void in
let swiftyData = JSON(response.result.value ?? [])
//print(swiftyData)
}
}
在 StoriesTableViewController
中,我调用函数 storiesForSection()
但它没有检索数据:
var stories: JSON! = []
func loadStories(section: String, page: Int) {
DNService.storiesForSection(section, page: page) { (JSON) -> () in
self.stories = JSON["stories"]
self.tableView.reloadData()
}
}
我不知道如何在我的 StoriesTableViewcontroller
中填写 self.stories
...
我尝试将 swiftyData 存储在 DNService 的 var 中,并在 StoriesTableViewCtler
中创建一个 getStoredSwiftyData()
,但它也不起作用。
storiesForSection:page:response
有回调函数,以JSON对象为参数调用即可。
Alamofire.request(.GET, urlString, parameters: parameters).responseJSON { (response) -> Void in
let swiftyData = JSON(response.result.value ?? [])
response(swiftyData)
}
//Swift4
import Alamofire
//仅通过.get方法获取数据获取数据后可以将其转换为合适的格式
let url2:URL=URL(string: values)!
Alamofire.request(url2).response
{ response in
if(response.data != nil)
{
}
else{
print(response.error)
}
}