File tree Expand file tree Collapse file tree 1 file changed +46
-0
lines changed
Expand file tree Collapse file tree 1 file changed +46
-0
lines changed Original file line number Diff line number Diff line change @@ -89,3 +89,49 @@ extension EquatableClazz: Equatable {
8989```
9090
9191if you don't want to use all the vars for the Equatable, just select the vars you want and click Generate... -> Equatable
92+
93+ ## Generating Hashable
94+ ### Example:
95+ ``` swift
96+ class EquatableClazz {
97+ var var0: Int !
98+ let var1: String
99+ var var2: Bool ?
100+ }
101+ ```
102+
103+ ``` swift
104+ extension EquatableClazz : Hashable {
105+ static func == (lhs : EquatableClazz, rhs : EquatableClazz) -> Bool {
106+ return lhs.var0 == rhs.var0 && lhs.var1 == rhs.var1 && lhs.var2 == rhs.var2
107+ }
108+
109+ var hashValue: Int {
110+ var hashValue = 1
111+ let hashableVars: [AnyHashable ? ] = [var0, var1, var2]
112+ hashableVars.forEach {
113+ hashValue = 31 * hashValue + ($0 ? .hashValue ?? 0 )
114+ }
115+ return hashValue
116+ }
117+ }
118+ ```
119+
120+
121+ ## Generating Init
122+ ### Example:
123+ ``` swift
124+ class EquatableClazz {
125+ var var0: Int !
126+ let var1: String
127+ var var2: Bool ?
128+
129+ init (var0 : Int ? , var1 : String , var2 : Bool ? ) {
130+ self .var0 = var0
131+ self .var1 = var1
132+ self .var2 = var2
133+ }
134+
135+
136+ }
137+ ```
You can’t perform that action at this time.
0 commit comments