Semantically, to consider an indexPath invalid, you need something to check for such as a table view or a collection view.
Usually you can consider an indexPath invalid if it represents a row where there is no corresponding data in the data source. (One exception would be "Load more" rows.)
If you really need to create an invalid IndexPath
, you can do:
let invalidIndexPath = IndexPath(row: NSNotFound, section: NSNotFound)
After the update:
self.tableView.indexPathForSelectedRow
returns an Optional so can be nil
if there is no selected row.
if let path = tableView.indexPathForSelectedRow {
// There is a selected row, so path is not nil.
}
else {
// No row is selected.
}
Anyway, comparing path
against NSNotFound
raises an exception in all cases.