See Apple release note
Month: June 2018
Live Rendering
Notes from IBInspectable / IBDesignable
user-defined runtime attributes: allows updating attribute value in Xcode
IBInspectable: easlier editable in Xcode
Can add inspectable property to existing classes via extension.
IBDesignable: WYSIWYG.
Use prepareForInterfaceBuilder() to provide dummy data at design time. It’s not run in shipping code.
Escaping closure
A clusure that is
- passed in to a function as parameter
- called after the function has returned
Closures are non-escaping by default in Swift 3+.
Use @escaping to mark it as escaping.
What slows down app launch
- api calls
- disk I/O
- data preparation