Форум программистов, компьютерный форум, киберфорум
Наши страницы
Swift
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Alley_
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 2
#1

CollectionView & Segue

08.07.2016, 23:41. Просмотров 766. Ответов 2
Метки нет (Все метки)

Помогите плиз, голову уже сломал, весь нет перерыл - не могу понять что да как.

Нужно передать по segue индекс выбранной ячейки

var index = ""
var out = ""
...

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath){

index = String(indexPath.row)
print("Selected cell #\(index)")
}

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

if segue.identifier == "showForm"{
out = String(index)
let destinationController = segue.destinationViewController as! FormTableViewController
destinationController.testSegue = out
}
}

Индекс передается, но со второго раза, т.е. при нажатии на ячейку var index получает индекс ячейки, но не передает её при переходе на второй Storybord , возвращаюсь на первый и при нажатии на ячейку второй раз передаётся индекс первого нажатия.
Я понимаю что index в func prepareForSegue не видит что ему присвоили индекс ячейки в func collectionView,
но как сделать что бы увидел?

Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2016, 23:41
Ответы с готовыми решениями:

Ручной переход segue
Есть tableviewcontroller при свайпе на ячейку появляется delete и рядом edit. ...

Передача из TableViewCell с searchbar через Segue
Данные сортируются нормально, однако при клике на них, ничего не происходит,...

Segue
Здравствуйте! Возникла проблема Есть TableViewController , при выборе ячейки...

Переход по segue
Имеется 3 ViewController соединенные последовательно. Нужно, чтобы при одном...

Оцените решение (CollectionView - add/delete)
Добрый день! Решаю такую, вроде как очень распространенную задачу: Есть...

2
cin_cout
27 / 27 / 7
Регистрация: 06.10.2012
Сообщений: 129
09.07.2016, 22:12 #2
Общая схематика процесса:
// посылающий viewcontroller
class SourceController: UIViewController {
var sourceVariable: AnyObject?

(didSelect...atIndexPath {
sourceVariable = indexPath / indexPath.row / objectAtIndexPath

}

prepareForSegue... {
let destinationController = segue.destinationViewController as! DestinationController
destinationController.destinationVariable = sourceVariable
}
}

// принимающий viewcontroller
class DestinationController: UIViewController {
var destinationVariable: AnyObject?
}
0
Alley_
0 / 0 / 0
Регистрация: 07.07.2016
Сообщений: 2
14.07.2016, 20:56  [ТС] #3
Через "Segue" так и не получилось передать, нашёл другой метод, может кому пригодится:
часть первая - https://youtu.be/MXOeqUdKHl8
часть вторая - https://youtu.be/YJbYGXs6M9k
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2016, 20:56

Два segue, Два viewController, Одно отображение
Добрый день! Изучаю работу c segue - и столкнулся с проблемой. Какая стоит...

linq & CollectionView
Есть такие свойства: obsCollection = new...

Как из collectionView получить IQuerable из CollectionView?
Доброго времени суток! В DataGrid на форме: ItemsSource = "{Binding...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru