在下面的代码中,我尝试从tableView填充详细信息视图,但不断收到NSIndexPath错误。如果没有'if let indexPath'和[indexPath],它只会返回字典中的第一部分。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let wod = FilteredWodList[index]
if segue.identifier == "showBenchmarkDetail" {
let controller = segue.destinationViewController as? BenchmarkWODDetailView
if let indexPath = self.tableView.indexPathForSelectedRow
{
controller?.nameText = wod.name![indexPath.row]
controller?.descriptionText = wod.description![indexPath.row]
controller?.exerciseText = wod.exercise![indexPath.row]
}
我还尝试使用以下扩展名,而不是导致我输入错误'无法将类型字符的值赋值为字符串'。
extension String {
subscript (index: Int) -> Character {
let charIndex = self.startIndex.advancedBy(index)
return self[charIndex]
}
subscript (range: Range<Int>) -> String {
let startIndex = self.startIndex.advancedBy(range.startIndex)
let endIndex = startIndex.advancedBy(range.count)
return self[startIndex..<endIndex]
}
}
https://github.com/Brandon-316/WOD-Guide 位于BenchmarkWODViewController.swift
答案 0 :(得分:1)
在BenchmarkWODViewController.swift中查看代码的其他部分,您需要修改richTextBox
,如下所示:
prepareForSegue
Leo Dabus的评论中已经找到了关键点。