Last active
January 6, 2017 06:12
-
-
Save ukitaka/dbc3c3724eb40b0b73670eefe58efc75 to your computer and use it in GitHub Desktop.
Override same var name
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| protocol BodyParameters { } | |
| struct JSONBodyParameters: BodyParameters { } | |
| struct MultipartFormDataBodyParameters: BodyParameters { } | |
| protocol Request { | |
| var bodyParameters: BodyParameters? { get } | |
| } | |
| extension Request { | |
| var bodyParameters: BodyParameters? { | |
| return nil | |
| } | |
| } | |
| struct Request1: Request { | |
| let bodyParameters: JSONBodyParameters? | |
| init() { | |
| self.bodyParameters = JSONBodyParameters() | |
| } | |
| } | |
| struct Request2: Request { | |
| let bodyParameters: BodyParameters? | |
| init() { | |
| self.bodyParameters = JSONBodyParameters() | |
| } | |
| } | |
| let request1 = Request1() | |
| request1.bodyParameters // JSONBodyParameters | |
| (request1 as Request).bodyParameters // nil | |
| let request2 = Request2() | |
| request2.bodyParameters // JSONBodyParameters | |
| (request2 as Request).bodyParameters // JSONBodyParameters |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment