Когда я тестирую плохие данные в текстовом поле и пытаюсь показать предупреждение о недостающих или плохих данных, предупреждение не отображается. Но я могу получить предупреждение, чтобы отобразить в функции viewDidLoadalert iOS swift
Вот код
import UIKit
import CoreData
class SellViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
@IBOutlet weak var customer: UITextField!
@IBOutlet weak var bales: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
let alert = UIAlertController(title: "Hey", message: "@ SellViewController viewDidLoad ", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Working!!", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
func checkDataInput(){
print("checking data input customer.text \(customer.text)")
print("checking data input bales.text \(bales.text)")
if (customer.text!.isEmpty) {
customer.text = "REQUIRED"
missingCustomer()
}
if (bales.text!.isEmpty){
availableAlert()
}else{
newQuantity = Int(bales.text!)!
}
func availableAlert() {
print(" at availableAlert")
let alert = UIAlertController(title: "Hey", message: "@ SellViewController func missingValues ", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Working!!", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
func missingCustomer() {
print(" at missingCustomer")
let alert = UIAlertController(title: "Hey", message: "@ SellViewController func missingCustomer ", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Working!!", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
}
Это отображает предупреждение в viewDidLoad но ни один сигнал, когда я недостающие данные. Операторы печати, когда у меня отсутствуют данные, возвращаются как.
проверки входных данных customer.text Дополнительно ("")
проверки ввода данных bales.text Дополнительно ("")
на missingCustomer
на availableAlert
Фатальная ошибка: неожиданно обнаружили ноль в то время разворачивания необязательное значение
Неустранимая ошибка возникает из-за того, что пользователь не может исправить свой ответ, когда получает предупреждение.
Что я делаю неправильно? Не следует ли сразу же отображать предупреждение, когда запущены мои функции missingData, и уметь исправлять их записи?
Почему вы не опубликовали соответствующий код, который не работает, так как это проблема? – rmaddy
Выполняется ли функция 'missingData' в основном потоке? Если нет, используйте 'DispatchQueue.main.async {/ * отображение вашего предупреждения здесь * /}' (или 'dispatch_async (dispatch_get_main_queue()) {/ * отображаем ваше предупреждение здесь * /}' в Swift 2.0) – Palle