Skip to content

Instantly share code, notes, and snippets.

@KentarouKanno
Last active January 29, 2017 05:57
Show Gist options
  • Save KentarouKanno/819a487b053bf8ed1500c5c6b6149bd1 to your computer and use it in GitHub Desktop.
Save KentarouKanno/819a487b053bf8ed1500c5c6b6149bd1 to your computer and use it in GitHub Desktop.
Method Chain

Method Chain

Swiftでメソッドチェーンを実装する

class Object {
    
    var val = 0
    
    init() {}
    
    @discardableResult
    func chain() -> Object {
        self.val += 1
        return self
    }
}

let obj = Object()
print(obj.val)
//=> 0
        
let o = obj.chain().chain().chain()
print(o.val)
//=> 3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment