I just noticed that a port of the (originally) AS3 PureMVC fraemwork has been done for Objective-C:
https://puremvc.org/content/view/121/1/
Now, I’m not trying to knock PureMVC. I’ve never used it. I’ve heard good things and bad things about it. But I really don’t get the point of an Objective-C port. Objective-C with UIKit/AppKit is built from the ground up with MVC in mind. In fact, UIKit/AppKit essesntially IS an MVC framework. Objective-C itself is an extension of C created with the express goal of bringing C closer to SmallTalk, the language where MVC was born. Adding another MVC framework on top of this just doesn’t make sense to me. UIKit has views and view controllers. IBOutlets give your controller access to UI elements and IBActions translate user gestures on the view to actions in the controller. You just need to set up a model and give your view controllers access to it. This document lays it out quite clearly:
You might need to log in to see that.
The one use case I could see for a port of PureMVC is if you have an existing PureMVC app that you wnat to quickly port over to the iPhone. I can see that having the framework there would make it easier to do that than re-thinking the whole architecture. And even going forward maintaining two versions of the same app, I can see it would be easier to have them based on the same framework.
But if you are thinking, “Hey, I know PureMVC, this will help me learn Objective-C!” I think I have to warn against that. Yes, I imagine if you were really well versed in PureMVC, it would make the transition easier. But you really won’t be learning it “right”. Now, I usually stay away from concepts of “right” and “wrong” when it comes to software development. People get way to religious about it, and I like to think more pragmatically. But I think if you are learning a language, you should learn that language first, and know the ways that everyone does things. Then, they’ll be able to read your code, you’ll be able to read theirs. Once you know the “right” way, feel free to branch off and create your own way if you think it’s better. Then again, who knows? Maybe PureMVC will catch on in the Cocoa world and become a new alternate standard. But I still recommend learning the current standard along with the new kid on the block if you are serious about doing anything.