텍스트 필드의 불량 데이터를 테스트하고 누락되었거나 잘못된 데이터에 대한 경고를 표시하려고하면 경고가 표시되지 않습니다. 하지만 경고가있는 viewDidLoad 기능 여기경고 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에서 경고를 표시하지만 누락 된 데이터 아니오 경고를합니다. 누락 된 데이터가있을 때의 print 문은 다음과 같이 반환됩니다. 선택 ("") customer.text
검사 데이터 입력 (") 선택 bales.text 데이터 입력을 확인
"availableAlert
치명적인 오류에 missingCustomer
에서
는 : 예기치 옵션 값
사용자가 경고를 받았을 때 사용자가 응답을 수정할 수 없기 때문에 치명적인 오류가 발생합니다.
내가 뭘 잘못하고 있니? 내 missingData 함수가 트리거되고 항목을 수정할 수있을 때 즉시 경고가 표시되지 않아야합니까?
문제가 발생한 이후로 작동하지 않는 관련 코드를 게시하지 않은 이유는 무엇입니까? – rmaddy
'missingData' 함수가 주 스레드에서 실행됩니까? 그렇지 않다면, Swift 2.0에서'DispatchQueue.main.async {/ * 경고 표시 * /}'(또는'dispatch_async (dispatch_get_main_queue()) {/ * 경고 표시 * /}'를 사용하십시오. – Palle