4 ms·
As little as I like IB, it being a black box is not one of my complaints. A xib is just an xml file. You can open it up in a text editor and see what happened.
by Zev 16y ago
As little as I like IB, it being a black box is not one of my complaints. A xib is just an xml file. You can open it up in a text editor and see what happened. You can copy the xib, set an option and diff the two files and clearly see what it did. Dragging lines around is just a different way of setting a target/action pair. Dragging views just sets the frame for you rather than you setting it, etc etc.
Now, if you wanted to argue that IB is bad because XIBs don't merge easily, I might agree with you[1]. Or even that nib loading is slow iOS 3.x[2]. It does make it slightly harder to use custom views, I suppose. But, a lot of the views I make are just existing views combined, not so much custom drawing[3]. And IB excels at that.
1. I'd actually say this is a failing of almost every VCS out there because it doesn't let you lock files. CVS is the only VCS that I know of that lets you do this.
// edit: As masklinn and shaggyfrog point out below, this isn't quite true. Centralized vcs's let you lock files, dvcs's don't. The point is that merge conflicts suck — and with xibs, can't be fixed..
2. UINib on iOS 4 makes nib loading much faster and much less of an issue.
3. Unless I need it to be very, very, very fast. But, I try to avoid this as it makes it harder to change the look around a month from now.
- shaggyfrog 16y ago"I'd actually say this is a failing of almost every VCS out there because it doesn't let you lock files. CVS is the only VCS that I know of that lets you do this." I know that both Perforce and Subversion allow file locking.
- timrobinson 16y agoAnd ClearCase and Visual Source Safe. File locking is typically popular in version control systems that have limited merge abilities. Perforce is a little better at resolving merge conflicts than the others mentioned here; locking tends to be limited to files that can't be merged, such as binaries.
- masklinn 16y ago> 1. I'd actually say this is a failing of almost every VCS out there because it doesn't let you lock files. CVS is the only VCS that I know of that lets you do this. Most (if not all) centralized VCS have no issue with letting you lock files (for those where locking is not default or mandatory à la Perforce of course). SVN for instance lets you not only lock files [0] but mandate that files be locked before edition based on their filetype [1] which is usually set for binary and other non-mergeable files. DVCS do not allow for locking because the concept hardly makes sense in a distributed context, so you have to rely on a centralized third-party to manage locks in that context. [0] http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.lock.html http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.lock.html [1] http://svnbook.red-bean.com/en/1.5/svn.advanced.locking.html#svn.advanced.locking.lock-communication http://svnbook.red-bean.com/en/1.5/svn.advanced.locking.html...
- edge17 16y agoI never said it was bad, I just said I didn't like it. Given that i'm used to building up my views myself, doing it through a gui perplexes me. You'll note I said it's a great tool in my first post.
- Zev 16y agoPerhaps I misread the tone of "I'm sure it's a great tool though". Apologies, in that case.