Advertisement
Guest User

Untitled

a guest
Jan 16th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. let gradeTypeTextField = gradeTypeTextField (Doesn't work)
  2.  
  3. var gradeTypeTextField: UITextField!
  4.  
  5. @IBAction func newGrade(_ sender: AnyObject) {
  6. When button is tapped, show alert.
  7. alertForGrade()
  8. }
  9.  
  10. var gradeType = ["Attendance", "Assignment", "Homework Assignment", "Quiz", "Test", "Mid-Term", "Exam", "Other"]
  11.  
  12.  
  13. override func viewDidLoad() {
  14. super.viewDidLoad()
  15.  
  16. Hide extra cells
  17. tableView.tableFooterView = UIView()
  18.  
  19. }
  20.  
  21.  
  22. func alertForGrade() {
  23.  
  24. Create the alert controller.
  25. alert = UIAlertController(title: "New Grade", message: nil, preferredStyle: .alert);
  26.  
  27.  
  28. Add the text field. You can configure it however you need.
  29. alert?.addTextField(configurationHandler: { (gradeTypeTextField) -> Void in
  30.  
  31. gradeTypeTextField.placeholder = "Type of Grade."
  32.  
  33. let pickerView = UIPickerView()
  34. pickerView.delegate = self
  35. pickerView.dataSource = self
  36. pickerView.backgroundColor = UIColor.white
  37. pickerView.showsSelectionIndicator = true
  38. gradeTypeTextField.inputView = pickerView
  39. self.view.endEditing(true)
  40.  
  41. })
  42.  
  43. alert?.addTextField(configurationHandler: { (assignmentTextField) -> Void in
  44. assignmentTextField.placeholder = "Name of the assignment."
  45.  
  46. })
  47.  
  48. alert?.addTextField(configurationHandler: { (gradeTextField) -> Void in gradeTextField.placeholder = "Grade for the assignment."
  49.  
  50. Grab the value from the text field, and print it when the user clicks OK.
  51. let ok = UIAlertAction(title: "OK", style: .default, handler: { (action) -> Void in
  52. let assignmenttextField = (self.alert?.textFields![0])! as UITextField
  53.  
  54. let gradeTextField = (self.alert?.textFields![1])! as UITextField
  55. let assignment = assignmenttextField.text!
  56.  
  57. let gradeString = gradeTextField.text!
  58.  
  59. let grade = Int(gradeString)
  60.  
  61. self.dictionaryForGradebook.updateValue(grade!, forKey: assignment)
  62.  
  63. print(self.dictionaryForGradebook)
  64.  
  65. self.tableView.reloadData()
  66. })
  67.  
  68.  
  69. self.alert?.addAction(ok)
  70. self.alert?.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: { (action) -> Void in
  71.  
  72.  
  73. }))
  74.  
  75. // 4. Present the alert.
  76. self.present(self.alert!, animated: true, completion: nil)
  77.  
  78.  
  79. })
  80.  
  81.  
  82. }
  83.  
  84.  
  85. func numberOfComponents(in pickerView: UIPickerView) -> Int {
  86.  
  87. return 1
  88. }
  89.  
  90. func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
  91.  
  92. return gradeType.count
  93. }
  94.  
  95. func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
  96.  
  97. return gradeType[row]
  98. }
  99.  
  100.  
  101. func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
  102.  
  103. This prints but if I try " yearTextField.text = years[row]" it crashes.
  104. print("Testinggggg")
  105.  
  106. self.view.endEditing(true)
  107.  
  108.  
  109. }
  110.  
  111. alert?.addTextField(configurationHandler: { (gradeTypeTextField) -> Void in
  112.  
  113. // Append this:
  114. self.gradeTypeTextField = gradeTypeTextField
  115.  
  116. gradeTypeTextField.placeholder = "Type of Grade."
  117.  
  118. let pickerView = UIPickerView()
  119. pickerView.delegate = self
  120. pickerView.dataSource = self
  121. pickerView.backgroundColor = UIColor.white
  122. pickerView.showsSelectionIndicator = true
  123. gradeTypeTextField.inputView = pickerView
  124. self.view.endEditing(true)
  125.  
  126. })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement