gpt4 book ai didi

Swift - 错误 "Cannot subscript a value of ' [字符串 : DayData ]' with an index of tye ' Int'

转载 作者:行者123 更新时间:2023-11-28 12:40:55 24 4
gpt4 key购买 nike

所以我正在尝试创建一个 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com