В моем первом контроллере просмотра у меня есть сегментированный элемент управления. Я пытаюсь получить строковое значение заголовка выбранной части сегментированного элемента управления с моего второго контроллера представления. Кто-нибудь знает, как это сделать? Заранее спасибо!
У вас нет кода, написанного, но я полагаю, что это сценарий addchildviewcontroller
и addsubview
представления, а не addchildviewcontroller
или addsubview
. В этом случае есть много способов сделать это, вот два:
1) Сделать глобальную переменную, которая определяет состояние сегментированного элемента управления.
@IBOutlet weak var segContoll: UISegmentedControl!
func back() {
globalvar = segContoll.titleForSegment(at: segContoll.selectedSegmentIndex)
}
2) Составьте протокол, вот что он должен выглядеть:
protocol NotifyDelegate {
func collectionViewSelectedIndex(indexPath : Int)
}
class CollectionViewForSessions: ... {
var delegate: NotifyDelegate?
func ... {
//The nextview delegate
sessionCollection.delegate = self
}
func ... {
//Instead of inputing a number, customize it to input a string segContoll.titleForSegment(at: segContoll.selectedSegmentIndex)
delegate?.collectionViewSelectedIndex(indexPath: indexPath.row)
}
}
class MessagesWithPerson: NotifyDelegate {
func collectionViewSelectedIndex(indexPath: Int) {
}
}
var yourString: String!
и назначьте его в свой обратный func, где вы отклоните представление: segContoll.titleForSegment(at: segContoll.selectedSegmentIndex)