20
Swift Language A fast overview of some features @wevtimoteo

Swift language - A fast overview of some features

Embed Size (px)

DESCRIPTION

Short slide about Swift programming language and its features. Learn about: variables, hello world, optionals, enumerators, emojis, differences between Objective-c.

Citation preview

Page 1: Swift language - A fast overview of some features

Swift LanguageA fast overview of some features

@wevtimoteo

Page 2: Swift language - A fast overview of some features

Technical Features• Cocoa and CocoaTouch

• Build in LLVM compiler

• ARC (Automatic Reference Counting) memory management

• Same runtime as Objective-C (Bridged)

• No pointers

• Static, inferred typing

Page 3: Swift language - A fast overview of some features

Objective-c Hello World

Page 4: Swift language - A fast overview of some features

Swift Hello World

Page 5: Swift language - A fast overview of some features

Emoji Support

Page 6: Swift language - A fast overview of some features

Swift Features

• Optional types

• Named/default parameters

• Namespacing

• Functions are first class citizens

Page 7: Swift language - A fast overview of some features

Objective-c Bridging

• NSArray == Array

• NSDictionary == Dictionary

• NSNumber == Int, Double, Float

Page 8: Swift language - A fast overview of some features

Objective-c Extensions

Page 9: Swift language - A fast overview of some features

Swift Extensions

Page 10: Swift language - A fast overview of some features

Optionals• Used in situations where value is absent

• Alternative for Objective-c nil passing

• Works in any type

• Can be safely unwrapped (if/else)

Page 11: Swift language - A fast overview of some features

Lazy variables

Page 12: Swift language - A fast overview of some features

Functions with Multiple Return Values

Page 13: Swift language - A fast overview of some features

Immutability

Page 14: Swift language - A fast overview of some features

Array Imutability

It's a bug: https://devforums.apple.com/messages/971330#971330

Page 15: Swift language - A fast overview of some features

Function currying

Page 16: Swift language - A fast overview of some features

Protocols in Objective-c

Page 17: Swift language - A fast overview of some features

Protocols in Swift

Page 18: Swift language - A fast overview of some features

Auto closures

Page 19: Swift language - A fast overview of some features

Enumerators

Page 20: Swift language - A fast overview of some features

References• https://developer.apple.com/swift/

• http://swiftlang.eu/

• https://devforums.apple.com/community/tools/languages/swift

• https://speakerdeck.com/lebedev/swift

• https://speakerdeck.com/dictav/swiftwoshao-sidake