2016-09-02 1 views
0
내 스위프트 코드 블록의

하나는 경고 팝업입니다 정의, 예 : :스위프트 경고 처리기 구문은

UIAlertAction(title: "Okay", 
         style: UIAlertActionStyle.Default, 
        handler: {(alert: UIAlertAction!) in println("Foo") 

하지만, 내 위의 코드하는 내가 나에게 경고 블록을 작성하는 데 도움을 엑스 코드의 자동 완성을 사용, 쉼표가없는 나의 버전은 012을 따라키.

이러한 두 변형도 (위의 코드의 첫 블록에 더하여) 작동 :

let actionOK = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { (action: UIAlertAction) in 
     ...    
    }) 

let actionOK = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: { (UIAlertAction) in 
     ... 
    }) 

이 홀수 스위프트 신택스 규칙의 예외는 무엇입니까?

이 버그가 아닙니까?

쉼표로 함수 매개 변수를 구분하지 않습니까? 내가 함수 UIAlertAction()를 호출 만 두 매개 변수를 전달하는 것 같은 그것은 나에게 보이는

-이 단지 2 쉼표 때문에 titlestyle을 :

UIAlertAction(__ , __) { ... }

또는이 ...입니다 .. Ruby 블록과 동등한 신속성? (Best explanation of Ruby blocks?)

호기심이 생길 경우를 대비하여 내 경고 코드가 작동하지만 깨지지 않습니다.

너무 많은 규칙과 이상한 구문과 일치하지 않는 것으로 보입니다. Swift의 구문 및 학습을위한 규칙을 기억하기가 어렵거나 어렵습니다.

희망 스위프트 4.0,이 모든 일이 밖으로 다림질하는

은 ...

은 어쩌면 내가 너무 많은 불평을 해요 : D

답변