作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在尝试创建一个 TableView ,它将从我已经在不同 View Controller 中编造的源中获取信息。当我尝试将信息提取到 TableView 的单元格中时遇到了一些麻烦。
我在以“var (date, sales, doorsKnocked...)”开头的行中收到错误“无法使用索引类型‘Int’下标‘[String: DayData]’的值”
我不确定如何解决这个问题。任何人都可以弄清楚吗?谢谢!
import Foundation
import UIKit
var allInformationByDate = [
"2016-08-13": DayData(sales: 0, doorsKnocked: 0, milesWalked: 0.00, hoursWorked: 0.00)
]
struct DayData {
let sales: Int
let doorsKnocked: Int
let milesWalked: Double
let hoursWorked: Double
}
class historyViewController: UIViewController, UITableViewDataSource {
//return Int, how many sections in table
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
//return Int, how many rows in table
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return allInformationByDate.count
}
//what are the contents of each cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = UITableViewCell()
var (date, sales, doorsKnocked, milesWalked, hoursWorked) = allInformationByDate[indexPath.row]
return cell
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
最佳答案
您的 allInformationByDate
是一个字典,其中包含未指定顺序中的键和值,并且无法使用整数下标。
您应该创建一个包含所需顺序的日期的数组。在你的情况下
let sortedDates = allInformationByDate.keys.sort()
会起作用。然后您可以检索索引路径的数据作为
let date = sortedDates[indexPath.row]
let dayData = allInformationByDate[date]! // We _know_ that the dictionary value exists.
关于Swift - 错误 "Cannot subscript a value of ' [字符串 : DayData ]' with an index of tye ' Int',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39404800/
我在尝试保存我创建的新结构时无法保存到 CoreData。 var allInformationByDate = [ "2016-08-13": DayData(sales: 0, doorsKnoc
所以我正在尝试创建一个 TableView ,它将从我已经在不同 View Controller 中编造的源中获取信息。当我尝试将信息提取到 TableView 的单元格中时遇到了一些麻烦。 我在以“
我是一名优秀的程序员,十分优秀!