For a project I needed to validate a 13 digit ISBN. According to Wikipedia you can validate an ISBN by calculating the checksum, but more accurately calculating the check-digit of an ISBN as follows: The ISBN-13 check digit, which is the last digit of the ISBN, must range from 0 to 9 and must be […]
Swift 4: An extension to define UIColors with “normal” RGB values and set some named colors
UIColors require you to enter red, green and blue as values between 0 and 1. In pracitcal terms that means you need to divide your values by 255 to obtain the CGFloat required. Easy enough? Surely! Still it is a tad annoying, especially as the rest of the world will give you RGB values between […]
Swift 4: Pull To Refresh / UIRefreshControl
TableViews can have a useful feature to refresh the data inside of them, simply pull to refresh. Apple didn’t invent this, that was Loren Brichter of Tweetie, which was sold to Twitter and Twitter was eventually granted a Patent for the feature. Today this feature is absolutely ambiguous and very easy to implement. For example, […]
Swift 4: JSON decoding with JSONDecoder() and structs
I have no apps in the app store, but a while ago I wrote an app for my own edutainment, which needed to parse JSON Data. At the time it was so darn complicated, that I enlisted Cocoapods and SwiftyJSON to help make things easier. SwiftJSON is pretty cool as it abstracts away a lot […]
Swift 4: Convert Unix Timestamp to a nicely formatted Date & Time
I needed to convert a Unix Timestamp, which for some inexplicit reason was being returned as a String by an API I was using and this is the super foolish function I ended up with. I am not going to shame the API Provider for returning a timestamp as a String 😉
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
func createDateTime(timestamp: String) -> String { var strDate = "undefined" if let unixTime = Double(timestamp) { let date = Date(timeIntervalSince1970: unixTime) let dateFormatter = DateFormatter() let timezone = TimeZone.current.abbreviation() ?? "CET" // get current TimeZone abbreviation or set to CET dateFormatter.timeZone = TimeZone(abbreviation: timezone) //Set timezone that you want dateFormatter.locale = NSLocale.current dateFormatter.dateFormat = "dd.MM.yyyy HH:mm" //Specify your format that you want strDate = dateFormatter.string(from: date) } return strDate } |