What’s New in iOS 7 for Hipsters

I recently gave a talk at NSLondon entitled “What’s New in iOS 7 for Hipsters”. It took a look at a handful of relatively low level changes that I found interesting, but which had not gathered much coverage so far to my knowledge. A video should be available before too long, but in the meantime, I’ve published a PDF of the slides.

Is there any interest in me fleshing out this post with a summary of the topics from the talk? If so message me on Twitter and I’ll try to get round to it.

Bonus Question

At the end of the presentation, I asked a bonus question:

What is the only public class in the Cocoa frameworks that has no methods of its own?

Well, turns out I was pretty wrong, and there’s several:

  • NSMessagePort
  • NSURLSessionDataTask
  • NSURLSessionUploadTask
  • NSPurgeableData
  • NSFileSecurity

NSFileSecurity was the one I had in mind. Thanks to Richard Buckle and NeoNacho (and I swear there was somebody else, but I can’t find a link at the moment) for spotting the others!

 Bonus Change

Here’s one that I probably should have included in my presentation, but didn’t for some reason: As of iOS 7 (and OS X 10.9, modern runtime), NSDateFormatter is now threadsafe.

It’s common — particularly on iOS — to cache NSDateFormatter instances, since creating them is pretty expensive. The trick though has been to cache them on a per-thread/queue basis since they weren’t thread safe (or serialise access to a global one, I suppose). No more! We can now cache globally and access from any thread.

© Mike Abdullah 2007-2015