segue로 storyboard를 연결해 놓고 특정 조건일 때 해당 segue로 연결을 막고 싶은 경우가 있다. 가령 특정 메뉴를 들어가고자 할땐 로그인이 되있지 않다면 로그인 화면으로 유도하려면 segue를 중간에 가로채야 한다. UIViewController 안에서 shouldPerformSegueWithIdentifier 를 사용하여 구현할 수 있다. NeedLoginSegue 로 이동할 경우 사용자 정보( checkUserInformation ( userDefaults ) )가 false면 LoginSegue 를 열게 하는 코드는 다음과 같다. override func shouldPerformSegueWithIdentifier(identifier: String , sender: AnyObject ?) -> Bool { if identifier == "NeedLoginSegue" { if checkUserInformation ( userDefaults )== false { self . performSegueWithIdentifier ( "LoginSegue" , sender: nil ) } return false } return true } unwind와 함께 빈번하게 쓰는 패턴이니...
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript