Я хочу, чтобы перейти от одного контроллера вида к другому и отправить USERID:Swift подготовиться к Segue - Отправка данных из одного контроллера представления другого
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("chosenPerson", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "chosenPerson" {
let chosenPerson = segue.destinationViewController as? chosenPersonViewController
let indexPaths = self.collectionView!.indexPathsForSelectedItems()!
let indexPath = indexPaths[0] as NSIndexPath
chosenPerson!.userID = self.usersArray[indexPath.row].userId
}
, нажав я получаю: «неустранимую ошибку: неожиданно обнаружил всухую время Развертывание необязательного значения « что я делаю неправильно?
В какой строке выполняется перерыв? –
Всего несколько указателей, чтобы вы начали. Попробуйте выполнить строчку в строке 'if sentence', чтобы получить представление о том, что происходит. Потенциальными кандидатами на неудачу являются 'self.collectionView !.indexPathsForSelectedItems()!' И 'selectedPerson! .userID = self.usersArray [indexPath.row] .userId', поэтому попробуйте проверить, что' indexPathsForSelectedItems() 'возвращает что-то полезное и что ваш userArray в позиции 'indexPath.row' фактически содержит что-то. – pbodsk
selectedPerson! .userID = self.usersArray [indexPath.row] .userId - фатальная ошибка –