2015-01-03 2 views
0

Я пытаюсь получить всплывающее предупреждение для добавления данных в массив. Простой, не так ли? Я делал это раньше, и он отлично работал, но почему-то не сегодня. Вот мой код.Дополнительный аргумент «анимированный» в вызове - Ошибка

@IBAction func addingCat(sender: UIButton) { 


    //Creates the alert controller 
    var alert = UIAlertController(title: "New Note Category", message: "Please enter the new Note category you wish to create.", preferredStyle: .Alert) 

    //Adds the two text fields 
    alert.addTextFieldWithConfigurationHandler({ (textField) -> Void in 
     textField.placeholder = "Title" 
     var myColor : UIColor = UIColor(red: 128, green: 0, blue:0, alpha: 1.0) 
     textField.layer.borderColor = myColor.CGColor 
    }) 

    //Saves and prints the values from both text boxes when 'Save' is clicked 
    alert.addAction(UIAlertAction(title: "Save", style: .Default, handler: { (action) -> Void in 
     let textField = alert.textFields![0] as UITextField 
     var titlePrac:String! = "\(textField.text)" 

     if titlePrac.isEmpty { 
      titlePrac = "New Category" 
     } 

    })) 

    //Presents the alert 
    UIAlertController.presentViewController(alert, animated: true, completion: nil) //Extra argument 'animated' in call 
    UIApplication.sharedApplication().statusBarStyle = .LightContent 

    var newTitle = "  " 
    newTitle += "titlePrac" 

    sideBarTableViewController.tableData.append(newTitle) 
    sideBarTableViewController.tableView.reloadData() 
    println("Worked") 
    println(sideBarTableViewController.tableData) 

} 

Ошибка возникает в первой строке в разделе «Представляет предупреждение». Это дает ошибку:

Extra argument "animated" in call

Я понятия не имею, почему это происходит.

ответ

2

Вам необходимо представить предупреждение с помощью текущего ViewController. Вы должны изменить следующий код:

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

к:

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

Также UIAlertController не имеют какой-либо метод класса под названием presentViewController:.

+0

Теперь это просто говорит мне, что «Отсутствует аргумент для параметра №1 при вызове» – Mydogmaxieboy

+0

@Mydogmaxieboy: тот же код работает в моем проекте без каких-либо ошибок. Проверьте, что вы там что-то пропустили или нет –

+0

Кнопка встроена в программно созданную боковую панель. Итак, код «self.xxxxx ...» не работает как «SideBar не имеет члена с именем presentViewController» Чтобы исправить это, я изменил код на alert.presentViewController (alert, animated: true, complete : nil) Это работает, пока я не нажму кнопку, а затем приложение выйдет из строя. На самом деле путают @Midhun MP – Mydogmaxieboy