2015-03-11 3 views
0

Итак, я создаю приложение, где при нажатии кнопки «Старт» появляется сообщение Alert через UIAlertController, и есть два текстовых поля с просьбой назвать имена игроков, в которых я буду перемещать имена игроков на экран игры (это крестики-нолики приложение) с помощьюКак мне вызвать текстовое поле из UIAlertController?

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

Так что мой вопрос в данный момент, как получить значения, которые пользователь вводит в в TextFieldWithConfigurationHandler к моему GameScreen. Мой код UIAlertController выглядит следующим образом:

@IBAction func startButton(sender: AnyObject) 
    { 
     var playerNameEntry = UIAlertController(title: "Player names", message: nil, preferredStyle: .Alert) 

     playerNameEntry.addTextFieldWithConfigurationHandler({textfield in textfield.placeholder = "Player 1"}) 

     playerNameEntry.addTextFieldWithConfigurationHandler({textfield in textfield.placeholder = "Player 2"}) 

     var continueButton = UIAlertAction(title: "Continue", style: .Default, { action in 

      self.performSegueWithIdentifier("gameSegue", sender: nil) 

     }) 

     playerNameEntry.addAction(continueButton) 

     var cancelButton = UIAlertAction(title: "Cancel", style: .Cancel, handler: nil) 

     playerNameEntry.addAction(cancelButton) 

     self.presentViewController(playerNameEntry, animated: true, completion: nil) 

    } 

спасибо за то, чтобы время, чтобы прочитать это, и если вы ответите, спасибо десятикратно

ответ

1

В вашем continueButton обработчика, у вас есть доступ к предупредительного контроллеру как playerNameEntry. Таким образом, вы можете получить доступ к его textFields массива:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIAlertController_class/#//apple_ref/occ/instp/UIAlertController/textFields

Таким образом, вы можете получить доступ к text каждым из этих текстовых полей.

var continueButton = UIAlertAction(title: "Continue", style: .Default, { action in 
     // code goes here 
     let tfs = playerNameEntry.textFields as [UITextField] 
     // ...do stuff with the `text` of each text field... 
     self.performSegueWithIdentifier("gameSegue", sender: nil) 
    })