수색…
개요
Apple 설명서에서 :
UIStoryboardSegue 객체는 두 뷰 컨트롤러 간의 시각적 전환 을 수행합니다 . 또한 segue 객체는 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로의 전환을 준비하는 데 사용됩니다. Segue 객체에는 전환과 관련된 뷰 컨트롤러에 대한 정보가 들어 있습니다 . segue가 트리거 될 때 시각적 전환이 발생하기 전에 스토리 보드 런타임은 현재 표시 컨트롤러의 prepareForSegue : sender : 메서드를 호출하여 필요한 모든 데이터를 표시 할보기 컨트롤러로 전달할 수 있도록합니다.
속성
빠른
sourceViewController: UIViewController {get}
destinationViewController: UIViewController {get}
identifier: String? {get}
참고 문헌 :
Segue 트리거 전에보기 컨트롤러 준비하기
PrepareForSegue :
func prepareForSegue(_ segue:UIStoryboardSegue, sender sender:AnyObject?)
segue가 수행되고 있음을 뷰 컨트롤러에 알린다.
매개 변수
segue : segue 객체입니다.
sender : segue를 초기화 한 객체.
Swift의 예
segue의 식별자가 "SomeSpecificIdentifier"이면 작업을 수행하십시오.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "SomeSpecificIdentifier" {
//- Do specific task
}
}
호출 된 Segue가 수행되어야하는지 결정.
ShouldPerformSegueWithIdentifier :
func shouldPerformSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?) -> Bool
지정된 식별자를 가진 segue를 수행해야하는지 여부를 결정합니다.
매개 변수
Identifier : 트리거 된 segue를 식별하는 문자열
Sender : Segue를 초기화 한 객체.
Swift의 예
식별자가 "SomeSpecificIdentifier"인 경우에만 segue를 수행하십시오.
override func shouldPerformSegueWithIdentifier(identifier:String, sender:AnyObject?) -> Bool {
if identifier == "SomeSpecificIdentifier" {
return true
}
return false
}
Segues를 사용하여 탐색 스택에서 뒤로 탐색
엉성한 풀기
Unwind Segues는 네비게이션 스택을 "푸는"방법을 제공하고 돌아갈 목적지를 지정합니다. 이 함수의 서명은 Interface Builder가 인식 할 수있는 핵심 요소입니다. 반환 값은 IBAction이어야하며 UIStoryboardSegue의 매개 변수 중 하나를 가져야 합니다. 함수의 이름은 중요하지 않습니다. 실제로 함수는 아무 것도 할 필요가 없습니다. UIViewController가 Unwind Segue의 대상인 마커로 나타납니다. [출처] [1]
풀린 갈고리의 필수 서명
목표 C :
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}
빠른:
@IBAction func prepareForUnwind(segue: UIStoryboardSegue) {
}
프로그래밍 방식으로 Segue 트리거
PerformSegueWithIdentifier :
func performSegueWithIdentifier(_ identifier:String, sender sender:AnyObject?)
현재 뷰 컨트롤러의 스토리 보드 파일에서 지정된 식별자로 세그를 시작합니다.
매개 변수
Identifier : 트리거 된 segue를 식별하는 문자열
Sender : Segue를 시작할 객체.
Swift의 예
테이블 뷰 행 선택에서 식별자 "SomeSpecificIdentifier"가있는 segue 수행 :
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("SomeSpecificIdentifier", sender: indexPath.item)
}