我发现这些错误:
let someArray = [
SomeBuilder.build(
someString: "someString",
someDecimal: 100,
someDate: Date.make(2018, 8, 20),
somethingElse: 0
),
SomeBuilder.build(
someString: "someString",
someDecimal: 100,
someDate: Date.make(2018, 8, 20),
somethingElse: 0
),
SomeBuilder.build(
someString: "someString",
someDecimal: 100,
someDate: Date.make(2018, 8, 20),
somethingElse: 0
)
]
struct SomeBuilder {
static func build(
someString: String?,
someDecimal: Decimal,
someDate: Date,
somethingElse: Int
) -> SomeModel {
// do something here
return SomeModel()
}
}
extension Date {
static func make(_ year: Int, _ month: Int, _ day: Int) -> Date! {
let calendar = Calendar(identifier: .gregorian)
let components = DateComponents(
calendar: calendar,
year: year,
month: month,
day: day
)
return calendar.date(from: components)
}
}
struct SomeModel {
}
如果您将此作为第四项添加到
someArray
,(在真实场景中可能是意外)您将看到上面的错误之一。
SomeBuilder.build(
someString: "someString",
someDecimal: 100,
someDate: Date.make(2018, 8, 20),
somethingElsse: 0
)