2017-05-18 12 views
0

저는 스위프트 3에 대해 매우 새롭고 길을 따라 몇 가지 사항을 선택하는 자습서 몇 개를 통해 작업 해 왔습니다. 여섯 가지 입력을 기반으로 계산을 수행하는 코드를 작성하려고합니다. 그것은 잘 작동하지만 텍스트 필드를 비워두면 시뮬레이터에서 응용 프로그램이 충돌합니다.Swift 3에서 텍스트 필드가 비어 있는지 경고하는 방법은 무엇입니까?

로드 및로드가 많은 답변을 검색하고 "let"또는 "guard let"함수가 이동하는 방법으로 보이지만 성공적으로 구현할 수없는 것으로 보입니다. 누구든지 텍스트 필드가 비어 있는지 확인하고 경고 또는 오류 메시지를 만들 수있는 함수를 구현하도록 특별히 도와 줄 수 있습니까?

여기 내 코드는 지금까지의 :

@IBOutlet weak var field1: UITextField! 
@IBOutlet weak var field2: UITextField! 
@IBOutlet weak var field3: UITextField! 
@IBOutlet weak var field4: UITextField! 
@IBOutlet weak var field5: UITextField! 
@IBOutlet weak var field6: UITextField! 
@IBOutlet weak var labelResult: UILabel! 

@IBAction func Calculate(_ sender: UIButton) { 

    let p = Double (field1.text!) 
    let d = Double (field2.text!) 
    let s = Double (field3.text!) 
    let e = Double (field4.text!) 
    let w = Double (field5.text!) 
    let y = Double (field6.text!) 


    let sum = ((p!*d!)/((2*((s!*e!*w!)+(p!*y!))))) 

    labelResult.text = "\(sum)" 

    } 

어떤 도움이 많이 주시면 감사하겠습니다! 미안 용어가 틀린 경우 ... 내가 말했듯이, 나는 스위프트 3과 어떤 형태의 코딩이라도 매우 새로 도입했습니다 !!

미리 감사드립니다.

Rally3는

답변

0

당신은 당신이 빈 값 어떤 계산을하지 않도록 당신은 곧 기능을 종료합니다,이

guard field1.text.isEmpty else { print("You can print here to notify problem") return } 
    guard field2.text.isEmpty else { return } 
    etc.. 

그런 식으로 같은 것을 할 수 있습니다.

+0

labelResult.text = "\ (sum)"보다 먼저 보호해야합니까? 나는 아직도 이것을 성공적으로 구현하는 것처럼 보이지 않는다! –

+0

처음에는주의해야하며, 기능상 가장 먼저해야합니다. –