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
let dateIntervalFormatter = DateIntervalFormatter() | |
dateIntervalFormatter.dateStyle = .medium | |
dateIntervalFormatter.timeStyle = .short | |
let timeIntervalUntilEndDate: TimeInterval = 67490 | |
let startDate = Date() | |
let endDate = startDate.addingTimeInterval(timeIntervalUntilEndDate) | |
let formattedIntervalString = dateIntervalFormatter.string(from: startDate, to: endDate) | |
print("Formatted TimeInterval: \(formattedIntervalString)") |
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
let isoDateFormatter = ISO8601DateFormatter() | |
print("ISO8601 string: \(isoDateFormatter.string(from: Date()))") | |
// ISO8601 string: 2018-03-21T19:11:46Z |
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
let dateFormatter = DateFormatter() | |
dateFormatter.dateFormat = "DD.MM.YYYY hh:mm:ss" | |
print("Date string: \(dateFormatter.string(from: Date()))") | |
// Date string: 80.03.2018 10:16:07 |
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
let number = NSNumber(value: 1231.90) | |
let numberFormatter = NumberFormatter() | |
guard let formattedNumber = numberFormatter.string(from: number) else { fatalError() } | |
print("Formatted rounded Number: \(formattedNumber)") | |
// Formatted rounded Number: 1232 | |
numberFormatter.numberStyle = .currency | |
guard let formattedCurrency = numberFormatter.string(from: number) else { fatalError() } | |
print("Formatted currency Number: \(formattedCurrency)") | |
// Formatted currency Number: $1,231.90 |
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
let unit = Measurement(value: 1290, unit: UnitLength.miles) | |
let measurementFormatter = MeasurementFormatter() | |
print("Measurement miles: \(measurementFormatter.string(from: unit))") | |
// Measurement miles: 1,290 mi | |
let kilometers = unit.converted(to: UnitLength.kilometers) | |
// 2076.0486 km |
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
var nameComponenets = PersonNameComponents() | |
nameComponenets.givenName = "Maxim" | |
nameComponenets.familyName = "Vialyx" | |
nameComponenets.middleName = "Olegovich" | |
let nameComponenetsFormatter = PersonNameComponentsFormatter() | |
print("Formatted name componenets: \(nameComponenetsFormatter.string(from: nameComponenets))") | |
// Formatted name componenets: Maxim Vialyx | |
nameComponenetsFormatter.style = .abbreviated | |
print("Abbreviated name componenets: \(nameComponenetsFormatter.string(from: nameComponenets))") |
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
//: Playground - noun: a place where people can play | |
import UIKit | |
enum PersonalAccount { | |
case credit(amount: Int64, id: UInt) | |
case debit(amount: UInt64, id: UInt) | |
} | |
let accounts: [PersonalAccount] = [.credit(amount: -1000, id: 1), |
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
enum Gender { | |
case unknown | |
case male | |
case female | |
} | |
struct User { | |
let name: String | |
let gender: Gender | |
} |
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
// MARK: Continue, break, throw | |
let numbers: [Int] = [1, 2, 3, 4, 5, 10, 11, 20] | |
// MARK: continue | |
var evenSum = 0 | |
for number in numbers { | |
if number % 2 != 0 { continue } | |
evenSum += number |
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
// MARK: guard | |
typealias JSON = [String: Any?] | |
struct Account { | |
let udid: String | |
let token: String | |
} | |
extension Account { |