Cocos2d (at least when I was using it) engendered some really bad anti-patterns in regards to memory management and architecture. MBTileParser doesn't just offer a way to show graphics onscreen, but it considers the MVC architecture in a way that cocos2d doesn't. (When I started, cocos2d was somewhere between 0.9 and 1.1. The state of the engine has very likely improved since, but that's why I wrote this.) Cocos2d didn't even support ARC back then.
The performance of MBTileParser is fantastic. I've profiled map loading to take under 300 milliseconds. I wouldn't necessarily use this for an action game, but for RPGs, this is more than sufficient.
With a UIKit engine, you don't have to deal with OpenGL and UIKit fighting for performance.
This wasn't about efficiency for me. When I wrote this, I didn't know OpenGL, but I already knew how to work with UIKit.
I started with processing TMX files and Texture Packer files, just to see if I could get UIKit to load them. Once I had that working, I added virtual controls, basic dialog, and basic game state.
A friend of mine started making these wickedly cool sculptures out of the tops soda/pop soda cans. He's been posting to FB for a while, but he just opened a website. I think it's amazing, so I'm sharing it here.