WWDC this year has been excellent. Cool APIs, cool folks, and I actually managed to write a decent amount of code during.
The labs were also incredibly helpful. I fixed a static analyzer bug that I’ve been having for months.
PodcastTableViewController *ptvc = [[PodcastTableViewController alloc] initwithSearchedFeed:feedData];
The static analyzer was complaining that I was releasing this object too many times. I went over it a dozen times and couldn’t find why it was wigging out. Turns out, it’s the lowercase ‘w’ in the method name. Unless it’s uppercase, the LLDB thinks that the prefix is ‘initwith’ instead of ‘init’ and it doesn’t assume it’s returning a retained object. Which is apparently how memory management in Objective-C really works.