2015-01-22 1 views
0

다른 문장을 쓰려고합니다.Swift Xcode 6 Else 문이 문자 또는 숫자를 확인하는 경우

atextField이 비어 있거나 문자가 있는지 확인해야하며 textfield이 비어 있거나 문자가 있으면 UIAlertWIndow이 표시됩니다.

나는 불리언 방법을 시도했다.

아이디어가 있으십니까?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
    if self.numOfGuestsData.text == "" { 
     alert() 
     println("Something Amish") 

     let alertController = UIAlertController(title: "Split The Bill", message: 
      "Please Enter The Number of Guests!", preferredStyle: UIAlertControllerStyle.Alert) 
     alertController.addAction(UIAlertAction(title: "Okay", style: UIAlertActionStyle.Default,handler: nil)) 
     presentViewController(alertController, animated: true, completion: nil) 
    } else if self.numOfGuestsData.text != "" { 
     let subTotalVC = segue.destinationViewController as subTotalAmountViewController 

     subTotalVC.numOfGuests = numOfGuestsData.text 
     println("everything is Ok Here") 
    } 
} 

을 또한 나는 경우 다른 문이 어떤 이유로 실패 경고 창 밖을 가지고가는 경우 :

이것은 내가 지금까지 쓴 것입니다. 나는이처럼 쓰는 경우처럼

:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { 
    if self.numOfGuestsData.text == "" { 
     alert() 
     println("Something Amish") 

    } else if self.numOfGuestsData.text != "" { 
     let subTotalVC = segue.destinationViewController as subTotalAmountViewController 

     subTotalVC.numOfGuests = numOfGuestsData.text 
     println("everything is Ok Here") 
    } 
} 

그것은 단지 다른 간다 ...

+0

문자열이 ""와 같은지 확인하는 대신 countElements (myString) == 0 인 경우 사용하지 마십시오 –

+0

나는 그것에 대해 전혀 알지 못했습니다. –

+0

는 문제를 해결하지 못합니다 : –

답변

1

대신하는 경우 UIAlertController를 텍스트 필드가 비어있는 경우 SEGUE을 억제하고 제시하려고 그것이 사실입니까? 쇼 섹슈션을 사용하고 있습니까? 귀하의 논리가 prepareForSegue: 밖으로 이동해야하고 shouldPerformSegueWithIdentifier:으로 옮겨야한다고 생각합니다. 그 방법으로 수표를 찍으십시오. prepareForSegue:에서 로직을 수행하는 것이 너무 늦었습니다. 그때까지 segue는 분명히 일어날 것입니다.

기본적으로 논리에 따라 shouldPerformSegueWithIdentifier:을 무시한 다음 return true 또는 return false을 무시합니다. false를 반환하면 segue가 발생하지 않습니다.

문서 here.

+0

예! 아 나는 그 일에 대해 알지 못했다. PerPerformSegueWithIdentifier 정말 고마워 !!! –

+0

완벽하게 감사드립니다! –

+0

@JoeCRONEScrivens는 trevorj의 답변이 올바른지 확인하는 것을 잊지 않습니다. 녹색 버튼을 누르십시오. – Cesare

관련 문제