Проблема: при преобразовании в Swift 2 я получаю следующую ошибку: «Значение необязательного типа [NSIndexPath]? не развернуто, вы хотели использовать «!» или «?»». Проблема в том, что если я использую '?', выдается ошибка, говорящая, что я должен использовать '!', а если я использую '!' выдает ошибку, говоря, что я должен использовать '?'. Таким образом, он создает этот неприятный маленький цикл ошибок, который кажется неисправимым.
Код:
override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool {
if identifier == Constants.SegueIdentifier {
if let selectedRowIndex = collectionView?.indexPathsForSelectedItems().last as? NSIndexPath {
if let cell = collectionView?.cellForItemAtIndexPath(selectedRowIndex) {
//We check if the selected Card is the one in the middle to open the chat. If it's not, we scroll to the side card selected.
if cell.frame.size.height > cell.bounds.size.height {
return true
} else {
collectionView?.scrollToItemAtIndexPath(selectedRowIndex, atScrollPosition: UICollectionViewScrollPosition.CenteredHorizontally, animated: true)
return false
}
}
}
}
return true
}
Я не смог придумать никаких обходных путей, так как кажется, что мне нужно как-то развернуть его. Кто-нибудь видел эту проблему?