2015-06-27 2 views
1

У меня есть контроллер вида регистрации. В нем я обрабатываю вход, предоставленный пользователем, как только он нажимает кнопку регистрации. Эта кнопка в представлении подключается к IBAction, где я проверяю введенный вход.iOS Button Trigger Segue & Send Data

Как можно инициировать segue и передавать данные в IBAction (не переопределять prepareforsegue) на следующий контроллер представления? Если проверка не удалась, она не должна пытаться выполнить segue, а скорее оставаться на том же самом представлении, чтобы отображать ошибки проверки.

Спасибо за поддержку. Вопрос был задан по-разному, но я не смог найти хороший комбинат segue в ibaction и передачи данных.

ответ

1

Вы можете создать SEGUE от одного контроллера представления к другому и может поставить галочку в вашей кнопки IBAction, как этот:

if (validationPasses) 
{ 
    self.performSegueWithIdentifier("segueIdentifier", sender: self) 
} 

И если вы не не будет переопределить prepareforsegue, вы могут передавать данные с помощью делегатов.

Однако, перекрывая prepareforsegue, вы можете передавать данные к следующему контроллеру представления, как это:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { 
if (segue.identifier == "segueIdentifier") { 
    // pass data to next view controller 
    let vc : NextViewController = segue!.destinationViewController as NextViewController 
     vc.someVariable = someValue 
     } 
} 

Здесь NextViewController ваш следующий ViewController, изменить его имя к следующему контроллеру просмотра и в этой точке зрения контроллера определить переменная, которой вы хотите передать значение, в этом случае это someVariable

+0

Вы можете продемонстрировать с расширением приведенного выше кода, как передать данные –

+0

Почему вы не хотите использовать prepareforsegue? Это будет очень легко сделать – Munahil

+0

Это не о том, чтобы не хотеть ... это больше похоже на описанный выше сценарий, описанный в моем первоначальном сообщении. –