gpt4 book ai didi

ios - Swift UITableView 从数组数组返回单元格

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:21 25 4
gpt4 key购买 nike

我正在使用 swift,使用预生成的单元格构建 TableView Controller ,而不是重复使用单元格,并且我目前有一个包含 MyCustomCell 数组的数组,例如:

让 sections = [[cell1, cell2, cell3], [cell4, cell5], [cell6]]

因此,在我的 numberOfSectionsInTableView 中,我正在执行以下操作:

override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
return sections.count
}

.. 在我的 numberOfRowsForSection 中我正在做:

override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
return sections[section].count
}

这一切都很好,很花花公子。当试图从它的数组中获取一个单元格时,我遇到了更多困难,看到了各种不同的问题,并且想知道实现它的最佳方法。以下似乎是最简单的方法,我已经以几种不同的形式实现了同样的事情,但我什至无法构建项目并得到结果错误:

override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
var arrayForSection = sections[indexPath!.section]
var cell: MyCustomCell = arrayForSection[indexPath!.row] as MyCustomCell
return cell
}
  1. While emitting SIL for 'tableView' at /Users/blah/blah/blah/MyCustomCell/MyCustomCell Example/MyCustomCell Example/ExampleTableViewController.swift:125:14 :0: error: unable to execute command: Segmentation fault: 11 :0: error: swift frontend command failed due to signal (use -v to see invocation) Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254

不确定这里的问题是什么,但是任何人都可以想出一个简单的实现来返回适当的单元格并使其实际编译吗?

最佳答案

不确定我看到的段错误是否是错误,但将 cellForRowAtIndexPath 中的代码更改为以下内容似乎可以解决问题:

override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
let cellsForSection: MyCustomCell[] = sections[indexPath!.section] as Array
return cellsForSection[indexPath!.row] as MyCustomCell
}

或者,在创建变量时更具体地说明类型可以使这更简单。改变这个:

    var sections = []
var firstSectionCells = []
var secondSectionCells = []
var thirdSectionCells = []
sections = [firstSectionCells, secondSectionCells, thirdSectionCells] // I do this later

为此:

    var sections: MyCustomCell[][] = []
var firstSectionCells: MyCustomCell[] = []
var secondSectionCells: MyCustomCell[] = []
var thirdSectionCells: MyCustomCell[] = []
sections = [firstSectionCells, secondSectionCells, thirdSectionCells] // I do this later

导致能够改为执行此操作,这更简洁:

override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
let cellsForSection = sections[indexPath!.section]
return cellsForSection[indexPath!.row]
}

关于ios - Swift UITableView 从数组数组返回单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24277108/

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