Swift language - A fast overview of some features
-
Upload
weverton-timoteo -
Category
Technology
-
view
251 -
download
1
Transcript of Swift language - A fast overview of some features
![Page 1: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/1.jpg)
Swift LanguageA fast overview of some features
@wevtimoteo
![Page 2: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/3.jpg)
Objective-c Hello World
![Page 4: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/4.jpg)
Swift Hello World
![Page 5: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/5.jpg)
Emoji Support
![Page 6: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/6.jpg)
Swift Features
• Optional types
• Named/default parameters
• Namespacing
• Functions are first class citizens
![Page 7: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/7.jpg)
Objective-c Bridging
• NSArray == Array
• NSDictionary == Dictionary
• NSNumber == Int, Double, Float
![Page 8: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/8.jpg)
Objective-c Extensions
![Page 9: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/9.jpg)
Swift Extensions
![Page 10: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/11.jpg)
Lazy variables
![Page 12: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/12.jpg)
Functions with Multiple Return Values
![Page 13: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/13.jpg)
Immutability
![Page 14: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/14.jpg)
Array Imutability
It's a bug: https://devforums.apple.com/messages/971330#971330
![Page 15: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/15.jpg)
Function currying
![Page 16: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/16.jpg)
Protocols in Objective-c
![Page 17: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/17.jpg)
Protocols in Swift
![Page 18: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/18.jpg)
Auto closures
![Page 19: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/19.jpg)
Enumerators
![Page 20: Swift language - A fast overview of some features](https://reader033.fdocuments.in/reader033/viewer/2022052913/55c5c066bb61eb683b8b47b6/html5/thumbnails/20.jpg)
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