gpt4 book ai didi

ios - tableView 中的数组索引超出范围

转载 作者:行者123 更新时间:2023-11-28 21:43:05 27 4
gpt4 key购买 nike

你好, friend 们,我正在尝试完成一个在 youtube 上的应用程序。 Xcode 中的某些内容发生了变化。问题如下:

我创建了两个数组类型的变量,并将它们初始化为 viewDidLoad

变量名称:[字符串]? 变种颜色:[UIColor]?

override func viewDidLoad() {
super.viewDidLoad()
names = Array()
colors = Array()
}

然后我做了一个 segue 以从 View 中获取数据。这项工作是正确的,因为我通过控制台进行了尝试:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let identifier = segue.identifier
if identifier == "CreateColor"
{
let createColorViewController = segue.destinationViewController as! CreateColorViewController
createColorViewController.delegate = self

}
}

这个函数带来一个字符串和一个颜色(我尝试用这个进行转场):

func createColor(name: String, color: UIColor) {
names?.append(name)
colors?.append(color)
}

然后这个函数:

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return 1
}

然后tableview的这个函数:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
var cell = tableView.dequeueReusableCellWithIdentifier("CellId") as? UITableViewCell

if cell == nil
{
cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "CellId")
}
cell?.backgroundColor = colors![indexPath.row]
cell?.textLabel?.text = names![indexPath.row]

return cell!
}

问题是这段代码在视频中运行良好。但对我来说,Xcode 显示“数组索引超出范围”。我尝试用 any valor 初始化两个数组,应用程序运行正常,但是当我转到 tableView 获取名称和颜色并返回到表时,它什么也没带。

我真的很想知道发生了什么:(

youtube 上的视频是这样的:

https://www.youtube.com/watch?v=C_jylonPa8k

感谢您的关注。

最佳答案

假设您的 colorsnames 具有相同数量的对象。

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
// return 1
// must be your dataSource count.
return colors.count
}

关于ios - tableView 中的数组索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31307642/

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