2016-03-30 2 views
0

Так у меня есть UITextView в UIAlertController, а затем в коде я пишу следующее:Swift: Как добавить имя в UITextView в UIAlertController?

 for(var i: Int = 0; i < self.codesdemo.count; i++) { 
     if let code = self.textField.text { 
      if code == codesdemo[i] { 
       // This should present view controller if codes is real/worked 
       let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
       let viewController = storyboard.instantiateViewControllerWithIdentifier("Demo") as UIViewController 
       self.presentViewController(viewController, animated: true, completion: nil) 
      } 
     } 
    } 
    }))} 

В основном говорят, что если кто-то пишет [я] в TextView он идет к другому ViewController. Вот мой полный код, который относится:

@IBAction func EnterCode(sender: AnyObject) { 

    let alert = UIAlertController(title: "Enter Code", message: "Enter a code to access your chatroom", preferredStyle: .Alert) 
    alert.addTextFieldWithConfigurationHandler { (textField:UITextField) -> Void in 
     textField.placeholder = "Enter Code" 
    } 

    alert.addAction(UIAlertAction(title: "Enter", style: .Default, handler: { (action:UIAlertAction) -> Void in 
     let textField = alert.textFields!.first! 






    alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)) 

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


    // Loops through the codes array 
    for(var i: Int = 0; i < self.codesdemo.count; i++) { 
     if let code = self.textField.text { 
      if code == codesdemo[i] { 
       // This should present view controller if codes is real/worked 
       let storyboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) 
       let viewController = storyboard.instantiateViewControllerWithIdentifier("Demo") as UIViewController 
       self.presentViewController(viewController, animated: true, completion: nil) 
      } 
     } 
    } 
    }))} 

В этом разделе: если пусть код = self.textField.text { я получаю ошибку, которая говорит: Тип значения Homeviewcontroller (который является ViewController) не имеет член textField. Я не понимаю, потому что думал, когда я создал текстовый фильтр в UIAlertController, он называется textField. Мне интересно, есть ли что-то, что мне нужно сделать, чтобы переименовать его, чтобы я смог исправить эту ошибку. Кто-то может помочь?

ответ

0

Вы пытаетесь представить UIAlertController в блоке обработчика действий .. это причина вашей alertview не будет отображаться в виде: я редактировал некоторые строки кода метода кнопки действия ..здесь является код

@IBAction func EnterCode(sender: AnyObject) { 

     let alert = UIAlertController(title: "Enter Code", message: "Enter a code to access your chatroom", preferredStyle: .Alert) 
     alert.addTextFieldWithConfigurationHandler{ (textField:UITextField!) -> Void in 
      textField.placeholder = "Enter Code" 
     } 

     alert.addAction(UIAlertAction(title: "Enter", style: .Default, handler: { (action:UIAlertAction!) -> Void in 
      let textField: UITextField = alert.textFields!.first! as UITextField 

      alert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: nil)) 

      for(var i: Int = 0; i < self.codesdemo.count; i++) { 
       if let code: String = textField.text { 
        if code == codesdemo[i] { 
         // This should present view controller if codes is real/worked 
         //other code here 
        } 
       } 
      } 

     })) 
     self.presentViewController(alert, animated: true, completion: nil) 

    } 
+0

сделал вы пытаетесь с моим кодом? –

+0

Да, это сработало! Большое спасибо! –

Смежные вопросы