Modified code as labels are optional.

This commit is contained in:
Lekshmi S 2020-02-18 16:33:28 +05:30
parent 77476e1355
commit 43a809aba0

View File

@ -10,10 +10,10 @@ import Foundation
public class ListFourColumnDataUsageDividerModel: ListItemModel, MoleculeModelProtocol {
public static var identifier: String = "list4CDiv"
public var label1: LabelModel
public var label2: LabelModel
public var label3: LabelModel
public var label4: LabelModel
public var label1: LabelModel?
public var label2: LabelModel?
public var label3: LabelModel?
public var label4: LabelModel?
public init(label1: LabelModel, label2: LabelModel, label3: LabelModel, label4: LabelModel) {
self.label1 = label1
@ -40,20 +40,20 @@ public class ListFourColumnDataUsageDividerModel: ListItemModel, MoleculeModelPr
required public init(from decoder: Decoder) throws {
let typeContainer = try decoder.container(keyedBy: CodingKeys.self)
label1 = try typeContainer.decode(LabelModel.self, forKey: .label1)
label2 = try typeContainer.decode(LabelModel.self, forKey: .label2)
label3 = try typeContainer.decode(LabelModel.self, forKey: .label3)
label4 = try typeContainer.decode(LabelModel.self, forKey: .label4)
label1 = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .label1)
label2 = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .label2)
label3 = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .label3)
label4 = try typeContainer.decodeIfPresent(LabelModel.self, forKey: .label4)
try super.init(from: decoder)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
try container.encode(moleculeName, forKey: .moleculeName)
try container.encode(label1, forKey: .label1)
try container.encode(label2, forKey: .label2)
try container.encode(label3, forKey: .label3)
try container.encode(label4, forKey: .label4)
try container.encodeIfPresent(moleculeName, forKey: .moleculeName)
try container.encodeIfPresent(label1, forKey: .label1)
try container.encodeIfPresent(label2, forKey: .label2)
try container.encodeIfPresent(label3, forKey: .label3)
try container.encodeIfPresent(label4, forKey: .label4)
}
}