有一个包含文件夹名称的tableview,在单击每一行后,它会转到另一个TableView,以显示每个文件夹的部分和行。但是我遇到了如何显示每个文件夹对应的值的问题。错误消息是:致命错误:在展开Optional值时意外发现nil。请参阅下面的代码。我想这个问题是准备好的。塞格代码并没有很好地运作。
注意:某处我需要删除一半")"因为它不适用于"()"我无法编辑。请帮忙编辑。
在第一张表格中:
var folderNames = [String]()
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == segueToDetailsTable {
let detailsVC = segue.destinationViewController as! DetailsViewController
detailsVC.detailsTableView.indexPathForCell(UITableViewCell(style: UITableViewCellStyle.Value1, reuseIdentifier: "DetailsCell")) == savingTableView.indexPathForSelectedRow
}
}
在第二个TableView中显示详细信息:
var sectionTitles = ["WebSite", "Date Saved", "Document Used","Add Notes"]
var detailsInSection = [[String](), [NSDate](),[AnyObject](),[String]()]
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return detailsInSection.count
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return sectionTitles[section]
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return detailsInSection[section].count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("DetailsCell")
cell?.textLabel!.text = detailsInSection[indexPath.section][indexPath.row].description
return cell!
}
答案 0 :(得分:0)
你在prepareForSegue中做了一些奇怪的事情。 detailsVC尚未加载,因此tableview可能仍为零。但最重要的是,你不能像那样连接表格。选择行时,请确定下一步应显示哪些数据。在聚合数据之后,将其设置为prepareForSegue方法内第二个vc上的属性。当下一个vc加载它正在使用的属性时,应该在表加载时设置它。您还有两个不同的数据源,tableview读取。这有点危险,因为您无法保证在其他来源中有相应的值。