Skip to content

Instantly share code, notes, and snippets.

// Management Function
func handleCarStarted()
{
turnLights(on: true)
turnAC(on: true
}
// Router Function
private func turnLights(on shouldTurnLightsOn: Bool)
{
if shouldTurnLightsOn
{
turnExteriorLightsOn()
checkForBurnedBulbs()
}
else { turnExteriorLightsOff() }
// When an if statment has only 1 thing to execute i like to write it
// Execution Functions
private func turnExteriorLightsOn()
{
leftFrontLight .isOn = true
rightFrontLight.isOn = true
leftBackLight .isOn = true
rightBackLight .isOn = true
}
private func checkForBurnedBulbs()
{
if let date = dateFormatter.parseDate(from: string) {
postUploadDate = date
}
extension DateFormatter
{
private enum DateFormats: String, CaseIterable {
case basicDate = "yyyy-MM-dd"
case basicDateWithTime_Without_Miliseconds = "yyyy-MM-dd HH:mm:ss"
case basicDateWithTime_With_Miliseconds = "yyyy-MM-dd HH:mm:ss.SSSSS"
case basicDateWithTime_WithX_Miliseconds = "yyyy-MM-dd HH:mm:ss.SSSSx"
var withTimeStamp: String {
switch self {
func parseDate(from string: String?) -> Date {
guard let dateString = string else { return Date() }
if let date = self.date(from: dateString) {
return date
}
else {
return locateCorrectFormat(for: dateString)
}
}
private func locateCorrectFormat(for dateString: String) -> Date {
for dateFormat in DateFormats.allCases {
if let date = parse(dateString, using: dateFormat) {
return date
}
}
return useRegexToExtractDate(from: dateString)
}
delegate.dataHasUpdated()
func dataHasUpdated() {
//Someone is informing you that something has happened
}
public var isPositionedVerticaly: Bool {
return positionedVerticaly
}
if containerView.isPositionedVerticaly
private var positionedVerticaly: Bool {
return view.frame.width/2 == centerX
}
if positionedVerticaly
if positionedVerticaly && positionedHorizontally
VS
if isPositionedVerticaly
if isPositionedVerticaly && isPositionedHorizontally