Swift - 함수 와 패키지 의 추상

순서
1. 패 킷 매개 변 수 를 가 진 함 수 를 정의 합 니 다.
func doPOST(url: String, commpletehandler: ((String,String) -> Void)?){
    if let hander = commpletehandler {
        hander( "post","result")
    }
}

doPOST("http://www.51.com") { (str1, str2) -> Void in
    print(str1)
    print(str2)
}
  :
post
result
  :                     

2. 절차 1 폐쇄 와 같은 함 수 를 정의 합 니 다. 쉽게 말 하면 폐쇄 를 함수 로 추상 화 합 니 다.
func doPOST(url: String, commpletehandler: ((String,String) -> Void)?){
    if let hander = commpletehandler {
        hander( "post","result")
    }
}
//MARK:         
func doUrlhander(str1: String, str2: String){
    print(str1)
    print(str2)
}

doPOST("http://www.baidu.com",commpletehandler: doUrlhander)
  :
post
result
  :         
  :   ,        

3. 중간 함 수 를 정의 하고 반환 값 은 1 단계 폐쇄 입 니 다.
func doPOST(url: String, commpletehandler: ((String,String) -> Void)?){
    if let hander = commpletehandler {
        hander( "post","result")
    }
}

//     completeHander1   completeHander  
func completeHander1(str0: String)(str1:String,str2:String){
    print(str0)
    print(str1)
    print(str2)
}

func completeHander(str0: String) -> ((String,String) -> Void){
    return {(str1,str2) -> Void in
        print(str0)
        print(str1)
        print(str2)
    }
}

doPOST("http://www.google.com.hk", commpletehandler: completeHander1("li"))
  :
li
post
reult
  :          

좋은 웹페이지 즐겨찾기