Welcome to Code Completion, Episode 49! We are a group of iOS developers and educators hoping to share what we love most about development, Apple technology, and completing your code!
Follow us @CodeCompletion on Twitter to hear about our upcoming livestreams, videos, and other content.
Code Completion Club: https://codecompletion.io/jointheclubIndie App Spotlight, with a new app for you to check out:SmartFilter by Jake Grant (@mmgreenmms): https://apps.apple.com/us/app/smartfilter-for-sms/id1271258894New Features in Swift 5.5What’s new in Swift: https://www.whatsnewinswift.com/?from=5.4&to=5.5Swift 5.5 Release: https://swift.org/blog/swift-5-5-released/Updated From WWDC21: https://www.wwdcnotes.com/notes/wwdc21/10192/SE-0319 - Read only properties can now throw: https://github.com/apple/swift-evolution/blob/main/proposals/0310-effectful-readonly-properties.mdSE-0308 - #if within postfix member expressions: https://github.com/apple/swift-evolution/blob/main/proposals/0308-postfix-if-config-expressions.mdSE-0307 - Automatic Bridging between CGFloat and Double: https://github.com/apple/swift-evolution/blob/main/proposals/0307-allow-interchangeable-use-of-double-cgfloat-types.mdSE-0295 - Codable synthesis for enums with associated values: https://github.com/apple/swift-evolution/blob/main/proposals/0295-codable-synthesis-for-enums-with-associated-values.mdFaster JSON serializationLazy in local contextsSE-0293 - Property wrappers on function parameters: https://github.com/apple/swift-evolution/blob/main/proposals/0293-extend-property-wrappers-to-function-and-closure-parameters.mdSE-0299 - Static members on protocols: https://github.com/apple/swift-evolution/blob/main/proposals/0299-extend-generic-static-member-lookup.mdSE-0291 - Package Collections: https://github.com/apple/swift-evolution/blob/main/proposals/0291-package-collections.mdAsync/Await:SE-0296: https://github.com/apple/swift-evolution/blob/main/proposals/0296-async-await.mdSE-0317: https://github.com/apple/swift-evolution/blob/main/proposals/0317-async-let.mdSE-0300: https://github.com/apple/swift-evolution/blob/main/proposals/0300-continuation.mdSE-0298 - Async Sequences: https://github.com/apple/swift-evolution/blob/main/proposals/0298-asyncsequence.mdHow to think about for-await loops: https://twitter.com/Catfish_Man/status/1442919592431538178SE-0304 - Structured concurrency: https://github.com/apple/swift-evolution/blob/main/proposals/0304-structured-concurrency.mdWWDC21 - Explore structured concurrency in Swift: https://developer.apple.com/videos/play/wwdc2021/10134/WWDC21 - Swift concurrency: Behind the scenes: https://developer.apple.com/videos/play/wwdc2021/10254/SE-0306 - Actors: https://github.com/apple/swift-evolution/blob/main/proposals/0306-actors.mdSE-0316 - Global Actors: https://github.com/apple/swift-evolution/blob/main/proposals/0316-global-actors.mdSE-0302 - Sendable: https://github.com/apple/swift-evolution/blob/main/proposals/0302-concurrent-value-and-concurrent-closures.mdDiscussion on Swift Evolution Proposals and the Future of SwiftDeclarative String Processing: https://forums.swift.org/t/declarative-string-processing-overview/52459Also, join us for #CompleteTheCode and Compiler Error, two segments that test both your knowledge and our knowledge on Swift, Apple, and all things development!
Your hosts for this week:
Spencer CurtisDimitri BouniolBe sure to also sign up to our monthly newsletter, where we will recap the topics we discussed, reveal the answers to #CompleteTheCode, and share even more things we learned in between episodes.
You are what makes this show possible, so please be sure to share this with your friends and family who are also interested in any part of the app development process.
Sponsor
This week's episode of Code Completion is brought to you by Super Easy Timer. Search for Super Easy Timer on the Mac App Store to give it a try. https://apps.apple.com/app/apple-store/id1525104124?mt=12
Complete the Code
How can you use UIViewController's updateViewConstraints() to quickly swap between very different view layouts?
// How can you use UIViewController's updateViewConstraints() to quickly swap between very different view layouts?
override func updateViewConstraints() {
// What goes in here?
super.updateViewConstraints()
}
Be sure to tweet us with hashtag #CompleteTheCode if you know the answer!