This question already has an answer here:
I am new to iOS development (No apps created yet), but I ask for advice from my friend that has really high rated apps on the market. He said not to use storyboards.
As much as I want to take his advice, they seem really helpful.
- Is this something that can cause problems for my app in the future?
- Is there any reason I may want to not use storyboards?
Coming from an Android background, I don't see why I should use them.
I tend to avoid storyboards for anything apart from perhaps a quick prototype. If you know you have a very simple app which isn't going to get complicated, and you're the only developer, storyboards might be ok.
Here are a few blog posts that detail some of the pain points when using storyboards:
Both of the above are a bit dated, but I believe the pertinent points still hold true.
Note that in theory you need to use a storyboard(s) to get static tables, which can be useful. To get this benefit, you could put only the static tables in storyboard files (note: you can have multiple storyboard files in an app) and use xibs or just code for the rest of the UI.
I'd recommend against using either storyboards or Interface Builder.
- You'll learn Objective-C faster if you spend more time using it. Switching between IB and code, you'll have two things to learn. The context switching will still slow you down later on.
- Nibs and storyboards are big XML files that don't play well with source control; if you're working on one at the same time as someone else, you will get merge conflicts.
- You can't see everything that's going on at once in IB, so it's hard to track down things like layout problems.
- You can't search or replace in IB the way you can in code
- Nibs and storyboards put your view logic in your controllers. Whether that's a problem for you depends on how much of an MVC purist you are.
- If you want to port your apps to/from Android, IB will make it much harder.
This all comes from experience. I started out running a small software team developing iOS apps using IB (storyboard wasn't out yet) and within a year it had caused so many problems that I'd had to forbid its use. Our productivity went way up when we stopped using it.
I don't think this question is really answerable. There are pros and cons of any technical decision and this one is no different.
Pros:
- Visual, so you get a much better idea of what your app will look like more quickly
- Less code
- Autolayout can be easier
- It's not all-or-nothing. You can build the "base" in Storyboards and finish it off in code
Cons:
- A big hairball of an XML file makes merge conflicts pretty nasty
- Less flexibility than code (no inheritance, etc.)
- If you have lots of screens in your app, using a single storyboard can get pretty difficult unless you have a vast screen!
I think it's not important to use it or not,the most important is how your application is?(quality, beautiful, fast...). StoryBoard is great for beginner to shorten design time and understand. But when to become professional developer, you will love to draw your interface by coding because typing more faster than graphic.
It depends only on you. If you developing your application alone, storyboards are very useful. If you work in a team, it's better yo use .xibs because there is less problems with merging them with svn in comparison to storyboards
Very broad question. There are times when storyboards are great and other times when they are a hassle. Depends on the requirements and compatibility needs of your app.
See this answer for a great explanation of when to use storyboards and when to use XIBs:
来源:https://stackoverflow.com/questions/13889034/ios-storyboards-should-i-use-them-or-not