Swift3 Currying

1323 단어
선언: 본문은 왕웨이(onevcat)에 있다."Swifter - Swift 필수 Tips(버전 3)"iBooks. 장절 중의 필기.
BankAccount 클래스 코드
class BankAccount: NSObject {
    var balance: Double = 0.0
    
    func deposit(amount: Double) {
        balance += amount
    }
}

BankAccount 클래스를 호출하는 방법
       let account = BankAccount()
        account.deposit(amount: 100)
        
        //           deposit()    。
        //                  。
        //      ,  C        。
        // depositor       :(BankAccount) -> (Double) -> ()
        let depositor = BankAccount.deposit
        depositor(account)(100)

(BankAccount)->(Double)->() 다시 말하면 * 이 함수는 하나의 매개 변수가 있고 * 하나의 BankAccount 실례*가 있으며 다른 함수를 되돌려줍니다.
다음 함수 * Double이 필요하며 반환되지 않음
기억하기 바랍니다: * Swift의 실례적인 방법: * 단지 형식적인 방법일 뿐입니다. 이것은 실례를 매개 변수로 하고 실례에 적용될 함수를 되돌려줍니다.
물론 아래의 두 가지 코드는 다음과 같이 바꿀 수 있다. 이렇게 하면'유형 방법'과'실례 방법'이전의 관계를 더욱 분명하게 할 수 있다.
 let depositor = BankAccount.deposit
 depositor(account)(100)

//   
BankAccount.deposit(account)(amount: 100)

인스턴스 방법: * OC에서 빼기 기호로 시작하는 방법* Swift에서func로 시작하는 방법
유형 방법: * OC의 더하기 기호로 시작하는 방법* Swift의 경우 Class와 Static으로 시작하는 방법* 그 중에서 Class의 시작은 Class 클래스에 있는 방법* static의 시작은 구조체, 매거, 프로토콜의 방법, 속성과 Class의 속성 앞에 있는 방법이다.

좋은 웹페이지 즐겨찾기