使用数组和UITableView作为指示符通过函数调用字符串

时间:2014-12-30 22:15:50

标签: xcode swift

我的第一个问题帖子。我想从函数返回一个字符串。该函数应该访问数组的字符串(task.name)(arrayOfTasks)。该数组查找表的索引以确定task.name的值。

这是我在实现函数callString时遇到的错误:“因未捕获的异常而终止应用程序'NSInternalInconsistencyException',原因:'与UITableView一起使用的索引路径无效。传递给表视图的索引路径必须包含两个索引指定节和行。如果可能,请使用UITableView.h中的NSIndexPath类别。 “

正如你所看到的,我试图在函数中指定一个部分(forSection ...),但我继续得到错误。

func callString(var yzx: String, tableView: UITableView!, forRowAtIndexPath indexPath: NSIndexPath!, forSectionAtIndexPath: NSIndexPath!) -> String {
  var task = arrayOfTasks[indexPath.row]
  var yzx = task.name
  return yzx
}

label.text = callString(String(), tableView: UITableView(), forRowAtIndexPath: NSIndexPath(), forSectionAtIndexPath: NSIndexPath())

1 个答案:

答案 0 :(得分:0)

您需要创建一个有效的NSIndexPath。

例如:NSIndexPath(forRow: 0, inSection: 0)

所以你可以把你的功能改成这样的东西:

func callString(var yzx: String, tableView: UITableView!, forIndexPath indexPath: NSIndexPath!) -> String {
    var task = arrayOfTasks[indexPath.row]
    var yzx = task.name
    return yzx
}

let label = UILabel()
label.text = callString(String(), UITableView(), forIndexPath: NSIndexPath(forRow: 0, inSection: 0))