Skip to content

Instantly share code, notes, and snippets.

View vialyx's full-sized avatar
🎯
Focusing

Maxim Vialyx vialyx

🎯
Focusing
View GitHub Profile
enum Gender {
case unknown
case male
case female
}
struct User {
let name: String
let gender: Gender
}
//: 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),
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))")
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
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
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
let isoDateFormatter = ISO8601DateFormatter()
print("ISO8601 string: \(isoDateFormatter.string(from: Date()))")
// ISO8601 string: 2018-03-21T19:11:46Z
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)")
let dateComponentsFormatter = DateComponentsFormatter()
dateComponentsFormatter.unitsStyle = .full
dateComponentsFormatter.includesApproximationPhrase = true
dateComponentsFormatter.includesTimeRemainingPhrase = true
dateComponentsFormatter.allowedUnits = [.minute, .hour]
let timeIntervalInPast: TimeInterval = -3666
let nowDate = Date()
let pastDate = nowDate.addingTimeInterval(timeIntervalInPast)
import Foundation
let fileSizeInBytes: Int64 = 1924284
let byteFormatter = ByteCountFormatter()
print("Default settigs: \(byteFormatter.string(fromByteCount: fileSizeInBytes))")
// Default settigs: 1.9 MB
byteFormatter.allowedUnits = .useKB
print("Change allowedUnits settig: \(byteFormatter.string(fromByteCount: fileSizeInBytes))")