Skip to content

Instantly share code, notes, and snippets.

@soffes
Created September 26, 2011 20:02
Show Gist options
  • Save soffes/1243246 to your computer and use it in GitHub Desktop.
Save soffes/1243246 to your computer and use it in GitHub Desktop.

IB is awful. Take the following scenario:

Say you want to make a view, MyView. You make MyView.h, MyView.m, and MyView.xib.

You add a button to the view with an outlet and an action and implement that in your class.

Now, say you want to use MyView in another class without the button. You add it, launch, and it crashes. You didn't add the outlet, so you get a KVO error. Crap. You add useless code so it will launch. Ugh.

Now, you add some new functionality at the last minute to your awesome MyView to do other stuff. Launch and test it in your second spot. All is good. A few days, later you get a rejection email from Apple. Wha?! Oh, you didn't test you updated my view in the first spot, which is now crashing because you renamed something or added a new outlet.

IB is awful. The compiler can't do sane checking of your code and you're opening yourself up to tons of problems that you can only find at runtime, which is awful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment