所选行将“nil”传递给详细视图

Selected row passes `nil` to detail view

我有一个带有 Table View 的屏幕,显示存储在对象 currentReminders: NSMutableArray 中的所有提醒。

现在我正在点击一行提醒列表,然后在屏幕上显示其详细信息。

我要做的是:选择一行,获取行索引,然后在该行索引处选择数组中对应的提醒对象传递给下一个视图。

我该怎么做?我是 Swift 的新手。这是我的tute练习任务。

你走在正确的轨道上。当您点击 table 中的单元格触发 segue 时,prepareForSegue 的 sender 参数就是该单元格。您可以使用 tableView 出口和单元格对象获取 indexPath 并使用它从数组中检索数据。

class ReminderListController: UITableViewController, addReminderProtocol {

    // assuming that the following gets loaded somehow.
    var currentReminders = [Reminders]()
    var reminderToPass: Reminders?

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) 
    }

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "showReminderSegue" {
            // convert sender to a cell
            if let cell = sender as? UITableViewCell {
                // get the indexPath of that cell in the tableView
                let indexPath = tableView.indexPathForCell(cell)
                if let destinationVC = segue.destinationViewController as? ShowReminderController {
                    destinationVC.aReminder = currentReminders[indexPath.row]
                }                
            }
        }
    }
}