You must know how to use both. The differences in performance between them are small and should not be the reason that you choose one or the other.
Many people who are not familiar with iOS development have a misconception that nibs (.xib files) are inferior to creating your user interface programmatically, and if you use IB, you are not a good iOS developer. This opinion is 100% incorrect. IB was created by Apple and is used by Apple developers to create their own applications for Mac OS X and iOS. If IB (as a tool) is good enough to be used by some of the best developers in the world, it is probably good enough for most of us.
In practice, I have found that a combination of the two is usually suitable for counting.
In my own applications, I find that .xibs are great for quickly defining the fundamentals of your views, and they allow you to iterate very quickly, giving you a preview of how your look will look. It is also much easier to use automatic linking in a .xib file.
Then, when you need to do more advanced things, such as adding fancy animations or moving views around for what IBOutlets are for. Everything you put in the tip can be found through IBOutlet. This allows you to programmatically make your look livelier.
Finally, you must fully understand what automatic use (.xib) does for you. You must understand what happens when .xib objects are thawed. There are many resources on the Internet to better understand .xib files.
Also, learn how to use .xibs in an encapsulated way. For example, .xibs are crazy, useful for things like prototype cells, and they allow you to preserve the modular structure of the code (much more than storyboards). In addition, your view controllers will require less user interface code.
Finally, I always say that people should think of IB / .xibs as jQuery. This is going to save you a lot of time, but the best developers still know how to do everything in javascript if they should.
Good luck and have fun!
TL DR version
- Performance is not taken into account when deciding whether to use xxs or not.
- Use .xibs because they give you a preview of the view you are creating and allow you to iterate quickly
- In practice, most applications will use a combination of both. You add animation programmatically or move views around, but .xibs will be the starting point.
- Fully understand what happens when objects in .xib are unfrozen.
- You will be more productive, but be sure to fully understand what is happening behind the scenes.