Introduction to Swift for Denver's Women Who Code

18
Who am I?

Transcript of Introduction to Swift for Denver's Women Who Code

Page 1: Introduction to Swift for Denver's Women Who Code

Who am I?

Page 2: Introduction to Swift for Denver's Women Who Code

HI, I'm Basel

Page 3: Introduction to Swift for Denver's Women Who Code

www.garglingwithrazorblades.com@BaselNotBasil

Page 4: Introduction to Swift for Denver's Women Who Code

The theme of this talk will be: Swift &

’I don’t believe him when he says he has a

girlfriend.’

Page 5: Introduction to Swift for Denver's Women Who Code

Why Swi!?

Page 6: Introduction to Swift for Denver's Women Who Code

Swi! is Punk Rock.

Page 7: Introduction to Swift for Denver's Women Who Code
Page 8: Introduction to Swift for Denver's Women Who Code
Page 9: Introduction to Swift for Denver's Women Who Code

Sometimes you need to implement features that are only for experts who are building infrastructuree; those features should be clearly marked as

dangerous--not invitingly similar to features from other languages.

— Eric Lippert

Page 10: Introduction to Swift for Denver's Women Who Code
Page 11: Introduction to Swift for Denver's Women Who Code
Page 12: Introduction to Swift for Denver's Women Who Code

struct Item { var price: Int var count: Int}

class VendingMachine { var inventory = [ "Candy Bar": Item(price: 12, count: 7), "Chips": Item(price: 10, count: 4), "Pretzels": Item(price: 7, count: 11) ] var coinsDeposited = 0 func dispenseSnack(snack: String) { print("Dispensing \(snack)") }

func vend(itemNamed name: String) throws { guard let item = inventory[name] else { throw VendingMachineError.InvalidSelection }

guard item.count > 0 else { throw VendingMachineError.OutOfStock }

guard item.price <= coinsDeposited else { throw VendingMachineError.InsufficientFunds(coinsNeeded: item.price - coinsDeposited) }

coinsDeposited -= item.price

var newItem = item newItem.count -= 1 inventory[name] = newItem

dispenseSnack(name) }}

Page 13: Introduction to Swift for Denver's Women Who Code

let favoriteSnacks = [ "Alice": "Chips", "Bob": "Licorice", "Eve": "Pretzels",]func buyFavoriteSnack(person: String, vendingMachine: VendingMachine) throws { let snackName = favoriteSnacks[person] ?? "Candy Bar" try vendingMachine.vend(itemNamed: snackName)}

Page 14: Introduction to Swift for Denver's Women Who Code
Page 15: Introduction to Swift for Denver's Women Who Code

80

Page 16: Introduction to Swift for Denver's Women Who Code

And now for a bit of golf.

Page 17: Introduction to Swift for Denver's Women Who Code
Page 18: Introduction to Swift for Denver's Women Who Code

SourcesAdvanced Swift by the ObjC.io crew

Swift Programming Language GuideDavid Waite

Beyonce