Skip to content

Instantly share code, notes, and snippets.

View konrad1977's full-sized avatar

Mikael Konradsson konrad1977

View GitHub Profile
func login() {
do {
let token = try loginUserWithUsername("konrad1977", password: nil)
print("user logged in \(token)")
} catch LoginError.EmptyUsername {
print("empty username")
} catch LoginError.EmptyPassword {
print("empty password")
} catch {
func loginUserWithUsername(username: String?, password: String?) throws -> String {
guard let username = username where username.characters.count != 0 else {
throw LoginError.EmptyUsername
}
guard let password = password where password.characters.count != 0 else {
throw LoginError.EmptyPassword
}
///Handle all the other,
return "token:" + username
enum LoginError : ErrorType {
case EmptyUsername
case EmptyPassword
}
@konrad1977
konrad1977 / enums.swift
Created June 13, 2015 12:06
swift new enums
enum TextCase {
case Uppercase(String)
case Lowercase(String)
}
let values: [TextCase] = [
.Uppercase("FOO"),
.Lowercase("iamlow"),
.Uppercase("BAR"),
]
enum CustomError : ErrorType {
case ErrorWithMessage(message: String)
}
func loginUserWithName(username: String?) throws -> String {
guard let username = username where username.characters.count != 0 else {
throw CustomError.ErrorWithMessage(message: "No username provided")
}
return "token:" + username
@konrad1977
konrad1977 / guard.swift
Created June 12, 2015 12:21
guard statement
func greetingsForOptionals(name: String?) {
guard let unwrappedName = name where unwrappedName.characters.count != 0 else {
return
}
print("Greetings \(unwrappedName)")
}
var name: String? = "FooBar"
greetingsForOptionals(name)
var index = 0
repeat {
index++
} while index < 100
var daysInMonth: Int = 30
var currentYear: 2000
let months: 12
enum Sex {
case Male
case Female
case Unknown
}
func getWelcomeMessageToUser(user: String) -> String {
return "Hello " + user
}
func myFirstFunction() {
let message = "hello world!"
print(message)
}