- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力从该网站获取 SWAPI(星球大战 API)--> https://swapi.co/填充我的表格 View 单元格,但我对如何抓取字符并用空数组显示它们感到有点困惑。变量“people”起作用,它抓取这些确切的字符并在控制台中显示他们的数据。我将如何在 viewDidLoad() 中执行此操作?这是我到目前为止所拥有的。我也在 swift 2.3 中这样做。
import UIKit
class PeopleViewController: UITableViewController {
// var people = ["Luke Skywalker", "Leia Organa", "Han Solo", "C-3PO", "R2-D2"]
var people = [Person]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL(string: "http://swapi.co/api/people/")
// Create an NSURLSession to handle the request tasks
let session = NSURLSession.sharedSession()
// Create a "data task" which will request some data from a URL and then run a completion handler after it is done
let task = session.dataTaskWithURL(url!, completionHandler: {
data, response, error in
print("in here")
print(data)
do {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary {
print(jsonResult)
if let results = jsonResult["results"] {
let resultsArray = results as! NSArray
print(resultsArray.count)
print(resultsArray.firstObject)
}
}
} catch {
print("Something went wrong")
}
})
task.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return the count of people
return people.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// Create a generic cell
let cell = UITableViewCell()
// set the default cell label to the corresponding element in the people array
cell.textLabel?.text = people[indexPath.row]
// return the cell so that it can be rendered
return cell
}
}
最佳答案
你的想法是正确的。您只需要填充您的人员数组,然后告诉 TableView 重新加载自身(从主线程)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL(string: "http://swapi.co/api/people/")
// Create an NSURLSession to handle the request tasks
let session = NSURLSession.sharedSession()
// Create a "data task" which will request some data from a URL and then run a completion handler after it is done
let task = session.dataTaskWithURL(url!, completionHandler: {
data, response, error in
print("in here")
print(data)
do {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary {
print(jsonResult)
if let results = jsonResult["results"] {
let resultsArray = results as! NSArray
print(resultsArray.count)
print(resultsArray.firstObject)
//------------------------------------------------------
//Install the array in people and tell the table view to
//reload
DispatchQueue.main.async() {
//Replace the code below with code create Person
//objects from your data.
people = resultsArray.map(){Person(name:$0)}
tableView.reloadData()
}
//------------------------------------------------------
}
}
} catch {
print("Something went wrong")
}
})
task.resume()
}
关于ios - 使用 SWAPI 的 resultsarray 的结果填充表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41129992/
我想获取 https://swapi.co/api/people/所有名称和其他详细信息,但当我使用 axios 调用来获取数据时,所有数据均未定义,但如果需要一个名称,我会在控制台中收到 CORS
我正在构建一个应返回其 ID、缩略图、标题、剧集编号和发行日期的电影网格。 如何映射 Swapi 的这些值? ? (缩略图在 img 文件夹中) ListFilms.js 组件: import Rea
我正在努力从该网站获取 SWAPI(星球大战 API)--> https://swapi.co/填充我的表格 View 单元格,但我对如何抓取字符并用空数组显示它们感到有点困惑。变量“people”起
我正在尝试向服务器端端点添加一个搜索查询,它调用 swapi - Star Wars API https://swapi.co/ 并按姓名列出人员。 这是 App.js 中对后端的 fetch 调用的
我构建一个 React 项目只是为了尝试一些事情,我在使用 SWAPI (Star Wars API) 时遇到问题. 在我的 React 项目中尝试通过 axios 使用他们的 API 时,我不断收到
我正在努力向 http://swapi.co.in 发出成功的请求来 self 的本地主机 creat-react-app 项目。我已将 fetch api 请求放入主容器的 componentDid
我有这个异步函数可以从 Swapi API 获取三个单独的请求来检索数据。但是,我只取回已分页的第一页数据。我知道我必须为 data.next 创建一个循环来发出新请求,但我不确定通过我的函数运行它的
我是一名优秀的程序员,十分优秀!