Shoot the Heap
Leaks is a filthy liar
Fall Cleaning
This is a blog post I started many months ago and never got around to finishing; please forgive any outdated screenshots or references. The core ideas are still relevant so I'm gonna go ahead and post it. The bug in UIKit that confused Leaks into missing the cycle was supposedly fixed but a good Software Engineer . . .
Objective-C Generics
A small detour
In Xcode 7 Clang learned a new trick: Objective-C generics. Now that I've started using this feature in our legacy code I can't live without it. Even without Swift interop consequences I would still use it.
The What
Objective-C can now declare that an NSArray
is an NSArray<NSString *>
. This helps on the . . .
Swift 2.1 Beta 3
Another day, another Xcode beta.
IDE & Playgrounds
- You can now set Swift Error breakpoints, including restricting the breakpoint to specific error types.
- The in-playground API has been revamped.
XCPlaygroundPage.currentPage
now grants a reference to the current page. - The playground live view support has been . . .
Swift 2.1
If you thought Apple was slowing down with Swift, think again. Xcode 7.1 Beta 2 includes Swift 2.1. As always you can check the release notes for yourself because I don't necessarily address everything here.
Interop & Types
- Enums imported from C automatically conform to
Equatable
so now they work in pattern . . .
Swift 2: Beta 6
Some highlights from Beta 6:
Compiler & Tools
- A new
try?
keyword has been added. This attempts an operation that may throw (fail). If it succeeds the result is wrapped in an optional. If it fails the error is ignored andnil
is returned. This seems like a pragmatic compromise but I have to imagine someone lost a . . .
Type & Self
Way too meta
In Objective-C, every class is an instance of its metaclass.
What about Swift? If you've looked closely at the Swift Language Reference you'll see two short paragraphs describing SomeClass.self
and SomeClass.Type
, a short example (that doesn't address Type
at all), and that's it.
Meta
In Swift, all . . .
Swift 2, Beta 5
Here is a quick rundown of some of the changes in Beta 5 posted today. For the full details as always check out the release notes
- Structs and classes can conform to
ErrorType
- Non-failable initializers can now chain to failable initializers by using
!
- Debug builds should have better performance due to using . . .