Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let gradeTypeTextField = gradeTypeTextField (Doesn't work)
- var gradeTypeTextField: UITextField!
- @IBAction func newGrade(_ sender: AnyObject) {
- When button is tapped, show alert.
- alertForGrade()
- }
- var gradeType = ["Attendance", "Assignment", "Homework Assignment", "Quiz", "Test", "Mid-Term", "Exam", "Other"]
- override func viewDidLoad() {
- super.viewDidLoad()
- Hide extra cells
- tableView.tableFooterView = UIView()
- }
- func alertForGrade() {
- Create the alert controller.
- alert = UIAlertController(title: "New Grade", message: nil, preferredStyle: .alert);
- Add the text field. You can configure it however you need.
- alert?.addTextField(configurationHandler: { (gradeTypeTextField) -> Void in
- gradeTypeTextField.placeholder = "Type of Grade."
- let pickerView = UIPickerView()
- pickerView.delegate = self
- pickerView.dataSource = self
- pickerView.backgroundColor = UIColor.white
- pickerView.showsSelectionIndicator = true
- gradeTypeTextField.inputView = pickerView
- self.view.endEditing(true)
- })
- alert?.addTextField(configurationHandler: { (assignmentTextField) -> Void in
- assignmentTextField.placeholder = "Name of the assignment."
- })
- alert?.addTextField(configurationHandler: { (gradeTextField) -> Void in gradeTextField.placeholder = "Grade for the assignment."
- Grab the value from the text field, and print it when the user clicks OK.
- let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
- let assignmenttextField = (self.alert?.textFields![0])! as UITextField
- let gradeTextField = (self.alert?.textFields![1])! as UITextField
- let assignment = assignmenttextField.text!
- let gradeString = gradeTextField.text!
- let grade = Int(gradeString)
- self.dictionaryForGradebook.updateValue(grade!, forKey: assignment)
- print(self.dictionaryForGradebook)
- self.tableView.reloadData()
- })
- self.alert?.addAction(ok)
- self.alert?.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action) -> Void in
- }))
- // 4. Present the alert.
- self.present(self.alert!, animated: true, completion: nil)
- })
- }
- func numberOfComponents(in pickerView: UIPickerView) -> Int {
- return 1
- }
- func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
- return gradeType.count
- }
- func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
- return gradeType[row]
- }
- func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
- This prints but if I try " yearTextField.text = years[row]" it crashes.
- print("Testinggggg")
- self.view.endEditing(true)
- }
- alert?.addTextField(configurationHandler: { (gradeTypeTextField) -> Void in
- // Append this:
- self.gradeTypeTextField = gradeTypeTextField
- gradeTypeTextField.placeholder = "Type of Grade."
- let pickerView = UIPickerView()
- pickerView.delegate = self
- pickerView.dataSource = self
- pickerView.backgroundColor = UIColor.white
- pickerView.showsSelectionIndicator = true
- gradeTypeTextField.inputView = pickerView
- self.view.endEditing(true)
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement